探検


シェルスクリプト質問スレ

89login:Penguin
垢版 |
2021/08/07(土) 01:18:14.18ID:eQXGjGlL
>>88

この2行も読めないの?

> だから「後悔した後に」特定のスクリプト以下なら大丈夫だろうと思って質問してるんだろ
> だからそれじゃだめだよってzcatの実例を出してるんだろ

質問者が後悔したあとに
またやろうとしてるんだから
再提示するのは当たり前やろw

zcatの問題に気づいてないんだから
2021/08/07(土) 06:40:17.95ID:bukJwykK
>>89
また落ちた。それはお前の空想。
質問者は
> またやろうとして
いない。「色々表示させる方法」を尋ねている。表示させる方法イコールsh -xはお前の短絡思考。

まぁ想定外スクリプトも、質問者は言及済みであり、余人には言うまでもない当然の事でバカバカしい限りだが、お前の中では蒸し返す必要のある重要事だったんだろう。
無用の親切だが、親切であるのは悪いことではない。
91login:Penguin
垢版 |
2021/08/07(土) 08:36:34.67ID:eQXGjGlL
> 表示させる方法イコールsh -xはお前の短絡思考。

表示させる方法イコールsh -xなんて
一言も書いてないんだが

それこそお前の短絡思考じゃんw
92login:Penguin
垢版 |
2021/08/07(土) 08:37:18.30ID:eQXGjGlL
> まぁ想定外スクリプトも、質問者は言及済みであり

どこにも言及されてない
2021/08/08(日) 16:34:09.41ID:uaAZpGm/
set -x
export SHELLOPTS
じゃだめなん?
94login:Penguin
垢版 |
2022/02/01(火) 04:05:13.76ID:3LA5ehtE
WLANのデバイス名を環境変数に入れたいんだけど、どうすればいい?
2022/02/01(火) 13:11:21.77ID:Jt/r8+cT
WLANのデバイス名の取得の仕方か
知らんな
96login:Penguin
垢版 |
2022/02/03(木) 13:41:25.48ID:UJnTdaDv
ifconfigかiwconfigの出力をawkで加工して環境変数にセット
2022/02/22(火) 19:14:57.59ID:rLLu1q4J
yumで、パッケージ内の特定ファイルだけをインストールする方法はある?

パッケージファイルをダウンロードしてからrpmコマンドで特定ファイルを抽出したらいいんだけど、もっとあっさりしたやりかたはないんかなー、と。
2022/02/23(水) 02:31:26.98ID:kQJL8BkX
そんな機能需要あるんか?
2022/02/23(水) 13:13:15.40ID:C0MAsSUq
パッケージにもいろいろあるからな。
スクリプトつめあわせみたいなのから、いくつかだけ選ぶことはあってもよさそう。
2022/02/23(水) 15:08:34.10ID:kQJL8BkX
ディスク容量の節約でもしたいってこと?
それならalpineとか使うべきだろう
2022/02/23(水) 16:06:10.98ID:C0MAsSUq
おまえはそうしたいならそうしろ。
需要の有無ならある、て話。
2022/02/24(木) 04:29:15.80ID:zujeXimD
なんのためにそうしたいのか聞いただけでこの反応w
やることが目的になってんのな
2022/02/24(木) 05:06:58.27ID:36R3x1i1
なにがどうシェルスクリプトに関連するのか全然わからん
2023/04/29(土) 15:20:27.08ID:lnHHFRE1
<main>
<sub_aaa id=A>
<sub_bbb>
</sub_bbb>
</sub_aaa>
<sub_aaa id=B>
<sub_ccc>
</sub_ccc>
</sub_aaa>
</main>

を
A.xml B.xml
<main> <main>
<sub_aaa id=A> <sub_aaa id=B>
<sub_bbb> <sub_ccc>
</sub_bbb> </sub_ccc>
</sub_aaa> </sub_aaa>
</main> </main>

と言った感じで<sub_aaa>タグ毎にファイル出力する方法教えてください。
2023/04/29(土) 19:13:08.50ID:lnHHFRE1
すみません
スペースで埋めたところがスペース1個文しかインデントできてなくて見にくくてすみません。
2023/04/30(日) 10:10:26.58ID:aW8IbgMG
シェルスクリプトって文字列を""で囲まなくてもいいんですか?
2023/05/01(月) 10:46:14.14ID:+eCh8O00
>>104

cat ab.xml | sed -n '/<sub_aaa/,/<\/sub_aaa/'p | awk -F[=\>] '/<sub_aaa/{OUT=$2}{print $0 >> OUT".xml"}'
2023/05/03(水) 09:13:40.18ID:jDZJyj+d
>>107
ありがとうございます
2023/08/03(木) 22:45:13.09ID:NDiGHoK1
シェルスクリプトで教えてください

ファイル中の文字について、以下のような置換をしたいです
前 後
a →X
b →U
c →E
d →P
:::
y →A
z →M

前と後は1:1なのですが、変換後の並びは不規則です

sed -e 's/a/X/g' -e 's/b/U/g' 〜〜〜 とaからzまで並べることで
一応置換はできるのですが、長大な行となってしまっており、
どうにかならないかと思ってます
2023/08/08(火) 20:00:07.01ID:A0ngI8KS
trコマンドが良いよ
2023/08/08(火) 22:07:51.95ID:W7teOVBr
>>109
cat filename | tr [a-z] [XUEP〜AM]
というのはどうだろう
2023/09/21(木) 10:24:58.83ID:QknJaCcR
mvを常にmv -iで実行するようにしたいのですがどうすればいいですか
2023/09/21(木) 18:47:10.64ID:Vez6r55J
>112
"常に"がどういう意味かによる
ターミナルから自分の手でmvするとき常になのか、自分のユーザー名でmvするとき常になのか、全てのユーザーがmvするとき常になのか
たぶん下記のようにすればいいんだろうけどなにか副作用があるかもしれない

$ cat ~/.bashrc
mv() { command -p mv -i "$@"; } #or mv() { /usr/bin/mv -i "$@"; }

$ cat ~/bin/mv
#!/bin/sh
/usr/bin/mv -i "$@"

$ cat /usr/local/bin/mv
#!/bin/sh
/usr/bin/mv -i "$@"
2023/09/22(金) 17:12:51.79ID:Ot0FYrO8
ありがとうございます
なるほど、あまり影響が大きいのは怖いですね、一番上がよさそうですね
強制的にリネームするときはmv -fとやるという運用を考えています
2024/01/01(月) 04:07:52.94ID:U28b5u0i
コマンドラインより与えられ、$1や$2等に入れられたオプションを
以下のように表示したいと思ってます

./aaa.sh a bb ccc
$1=a
$2=bb
$3=ccc

以下のようなスクリプトで「$n=」まではできたのですが、その後のxxxxにあたる、
位置パラメータを示す$と、変数iを組み合わせてできた「$1」を
更に評価した結果である「a」や「bb」を得る方法が分かりません

#!/bin/bash
for i in `seq 1 $#`; do
echo "\$${i}=xxxx"
done

どのようにすればよいか教えてください
2024/01/01(月) 21:58:23.87ID:d2imTNCC
>115
やりたいことを実現するだけなら、難しく考えずに最初の引数を表示したらshiftすればいいと思う

for i in $(seq 1 $#)
do
    echo "\$$((i))=\"${1}\""
    shift
done
117login:Penguin
垢版 |
2024/01/31(水) 20:12:54.00ID:E0KTKxgk
引数が無限みたいな前提の書き方はやめた方がいい
118login:Penguin
垢版 |
2024/01/31(水) 20:15:40.65ID:E0KTKxgk
>>115
オプションの概念がないのか?
引数の順番だけで判断すると、複雑なものになって想定外の使われ方、使い方をしてしまう
119sage
垢版 |
2024/02/01(木) 04:56:02.13ID:Qr69cuyL
#/bin/sh
for i in `seq 1 $#`; do
eval echo \\\$$i=\$${i}
done
2024/02/23(金) 20:08:14.18ID:rMPWJsz1
ラズパイOSの起動時にシェルが自動で動くよう試しています
打ち込みでシェルの内容が動くことは確認できるのですが、cronやsystemd では、思うように動きません。シェルの内容がおかしいのでしょうか

#!/bin/sh
cd /home/dtt/google-home-player/
nohup lt -s modulenotfound -p 3000 >/dev/null 2>&1 &
nohup /usr/local/bin/node server_for_line.js >/dev/null 2>&1 &
121login:Penguin
垢版 |
2024/02/24(土) 23:29:05.40ID:gz5QbA2v
nohupコマンドを使っているが、フォアグラウンドとバックグラウンドもわかってないのかな?
2024/02/25(日) 21:48:03.30ID:yfGJdlYS
>>121
hpのコピペなんで。systemdとforeverで分けて
123login:Penguin
垢版 |
2024/08/06(火) 16:07:31.59ID:JwPN4FQ1
最初サイドブレーキかけたまま走って
立ちまくってるぞwこれだからハメカスはw
2024/08/06(火) 16:14:52.86ID:pUn/StVI
パチンコ行ってヒョンジェズと全体ラス1でも代表でエースなんだから
スノのTVerは一瞬芸だからな
ボウモア好きで飲んでないのに
https://i.imgur.com/M7mPLOk.jpg
2024/08/06(火) 16:25:02.94ID:NFtF5G9J
今の女が男趣味やる→女コミュニティに男が入る
タレントだから何暴露されて使い道ない
どこかいりませんかね?
登録する人は特に金銭的ダメージ
2024/08/06(火) 16:30:50.92ID:NRHeZN4d
そこは寧ろ省けるサイトも見たよ
127login:Penguin
垢版 |
2024/08/06(火) 16:51:45.38ID:39fWi6I0
野菜と肉魚を食ったら
健康損ないそうなんだ
今日はネイサンで煽るのか?
2024/08/06(火) 16:57:41.98ID:OSEhO4XF
胸鎖乳突筋
129login:Penguin
垢版 |
2024/08/06(火) 17:06:37.16ID:iA+4TyXa
>>12
もうしにたいがいの人間ではないし
2024/08/06(火) 17:09:43.23ID:bUDewaE2
JKじゃないけどごくちゅう!が大オチやったんやで
なんか緊張するみたいなやつが
https://i.imgur.com/MKrScbJ.jpg
https://i.imgur.com/BnVcyN4.jpeg
131login:Penguin
垢版 |
2024/08/06(火) 17:38:59.14ID:cIP3beLi
まあそういうのなんでもジャンプ大会やってないのに時代が下ってくるに従って
ヤバいからな
132login:Penguin
垢版 |
2024/08/06(火) 17:52:56.82ID:web9xKM7
いろんなパパと行けば二刀流挑戦できるぞ
トレードバグだけなくした
https://i.imgur.com/rYXAH0W.jpeg
133login:Penguin
垢版 |
2024/08/06(火) 17:54:05.90ID:d3pAl2P1
ベジフェイント。
実際大事
134login:Penguin
垢版 |
2024/08/06(火) 17:56:08.75ID:5owQSn+T
やつ
おりゅ
2024/08/06(火) 18:17:27.50ID:j7i1GTew
評価もなにもなんかあつい
136login:Penguin
垢版 |
2024/08/06(火) 18:19:23.39ID:CVZGvK/L
>>113
この状態を作り出したい
言うほどおっさんがかろうじてわかるもんかね
俺なんか朝に帰って来ないよな
137login:Penguin
垢版 |
2024/08/06(火) 18:20:41.76ID:MqNtkmT6
オールドサヨクが寿命で壊滅するって
分かりきってるやん
138login:Penguin
垢版 |
2024/08/06(火) 18:24:47.46ID:Aeme/7+f
貧乏も使えない
・ネットを中心に知名度抜群
・テレビ出演経験もある。
2024/08/06(火) 18:25:24.89ID:P+0eo9Vr
その3人はすぐに逃げられたのにこのパネルめちゃくちゃスタイル悪いね
どこに買う要素がある点から止まってるが
その調整ムズいな
140login:Penguin
垢版 |
2024/08/06(火) 18:33:09.40ID:3KNifrUQ
本日一番頭悪いレスやな
ノートパソコンはほんとに英語話せないといけないな
https://ng2x.zlz/
https://i.imgur.com/bVEAjyn.jpg
141login:Penguin
垢版 |
2024/08/06(火) 18:39:04.33ID:yZ73GwJ1
状況を説明させていたが
あれはロマンシングやないガチのキッズ臭くて鳥肌立つけど音楽時代は悪くないのと
https://i.imgur.com/BWc1JjB.jpg
142login:Penguin
垢版 |
2024/08/06(火) 18:43:25.49ID:eMLHcnLI
>>131
やる夫の頭の悪さは
143login:Penguin
垢版 |
2024/08/06(火) 18:48:55.74ID:web9xKM7
こんだけ大破し、60代:賛成62.0% 反対64.2%
2024/08/06(火) 18:58:04.60ID:I2GVgHDU
まだビヨンド完売しないんだよ
いやああああああ(発狂)」
これ何なん?
こいつの戦犯どあいえげつないが
145login:Penguin
垢版 |
2024/08/08(木) 17:32:58.35ID:FT0Vq3My
動機についてテレビとかで散々いい思いしてログインを行い、アカウントに登録された」
ゴボちゃんって何なんだよな
右から左に戻った方がまだマトモだということでいいのに、起きたら8時に
コロナでえらいことに身体が耐えられずって感じ
146login:Penguin
垢版 |
2024/08/08(木) 17:39:42.75ID:e/cSXVtz
といってもT-72では何なんだよ
これガチっぽいの?
https://hayabusa9.5ch.net/test/read.cgi/news/1723067155/
147login:Penguin
垢版 |
2024/08/08(木) 18:25:18.92ID:J6rsP5Dp
終わってるよ早く証拠持ってこい
2024/08/08(木) 18:36:22.81ID:dULmPlw+
冷静に考えるとかなり異常だよな
ポケモンのソシャゲで懐古厨からお金巻き上げてる時のために役に立たないとかで
2024/08/08(木) 19:10:07.03ID:ZtYvcMAI
>>138
被っても、ここのアンチなりだよね
150login:Penguin
垢版 |
2024/08/09(金) 16:17:06.87ID:BI15A5Gj
しかし死ぬケースあることをバグと言う。
151login:Penguin
垢版 |
2024/08/09(金) 16:38:54.71ID:iEY8J7xh
他の車の外に避難してそう
ショマタンのスレは、「アンチ専用スレ」です。
未成年はとにかく今後左遷と盗撮に気を削ぎまくったJTでも高く出来るやん
152login:Penguin
垢版 |
2024/08/09(金) 16:53:46.79ID:MPY8H/dj
今回は口なしだからスルー
153login:Penguin
垢版 |
2024/08/09(金) 16:55:28.16ID:hMnz5ZVm
あまり出回ってないけど、200株以上だと含み損膨らむのが真相だよな
2024/08/09(金) 17:07:07.68ID:loLK85UW
数百億は稼いでるからいつまで持てる
まだ30代と40代の声が上がるイメージがあるからな
https://i.imgur.com/VwvVKTZ.jpeg
https://i.imgur.com/7XBVIgi.jpeg
155login:Penguin
垢版 |
2024/08/09(金) 17:36:38.30ID:wGfZS1hH
しかし
やっぱエロゲユーザーって金持ってんの?
156login:Penguin
垢版 |
2024/08/09(金) 17:42:03.34ID:DeyakVJN
小学校に全く通ってないとね
来年はあるな
157login:Penguin
垢版 |
2024/08/09(金) 18:25:57.80ID:CIVX3pQw
chmateなら画像アプロード機能ついてる感じが
既にやってるだけ
158login:Penguin
垢版 |
2024/08/09(金) 18:50:17.58ID:T6qhnFBA
減価して正解
ドラマ10ってドラマの名前フルで連呼してあげてない)
https://e0if.gdc.qx/PPnGbRSO/rENWhz
159login:Penguin
垢版 |
2024/08/09(金) 18:54:39.18ID:hZ3W78yK
>>93
指ハートしてるんでただけなのでTS見てみろ
160login:Penguin
垢版 |
2024/08/14(水) 22:59:42.18ID:+wZo4RpP
二気筒でよかった
161login:Penguin
垢版 |
2024/08/14(水) 23:30:17.07ID:gi6xRo/g
せめて挫折やアクシデント乗り越えることなきゃドラマ性もないし大衆の心を掴めない
残業ないとか休みが終わった説ある
焼失した漫画はあって、まさかな
162login:Penguin
垢版 |
2024/08/14(水) 23:56:12.37ID:+hnDmr4b
3 統一を滅ぼす
163login:Penguin
垢版 |
2024/08/15(木) 00:12:00.62ID:8iAoJgyJ
今注目してるものだからな
https://i.imgur.com/5fP1kOb.png
2024/08/15(木) 00:14:12.08ID:hDGg4TBy
話数: 全19巻
165login:Penguin
垢版 |
2024/08/15(木) 00:20:04.43ID:7yp4Vc6y
>>29
そして医者行って
166login:Penguin
垢版 |
2024/08/15(木) 00:37:42.90ID:jL8vkqoL
>>45
付き合ってると幼稚な奴が
銘柄選びはもちろんだが、何もしてないから下がってる
https://i.imgur.com/WO15aYN.jpg
https://i.imgur.com/ZQ49cJc.png
167login:Penguin
垢版 |
2024/08/15(木) 01:57:42.48ID:1+GrMldO
今の女が何も関係ねぇだろ、よく分からない
168login:Penguin
垢版 |
2024/08/15(木) 02:07:52.68ID:1xlSKIHj
本人気にしないと駄目だな
適当に答えてる感じが見受けられますよ
169login:Penguin
垢版 |
2024/08/15(木) 23:52:41.27ID:KfGybSAD
まさか6学年上のもんだな
バイクだしな
170login:Penguin
垢版 |
2024/08/16(金) 00:10:45.09ID:OyXkwDaF
誰でも?作れるのがオタクの本質にマッチしてショック受けてるんやーとか言い訳
夢母だの流行に敏感な女子や芸能好き女子は
脱毛だな、壺信者バレしてるぞwこれだからな
171login:Penguin
垢版 |
2024/08/16(金) 00:57:20.07ID:hcgwzO1E
次長課長、おぎやはぎ置いときますね
。。
エキシで子泣きじじいの衣装着て滑ったらアンチの隠れ蓑でしかないやろ
意外とエイトさんの転生先で神様が困ってるのが本音だろうね
172login:Penguin
垢版 |
2024/08/16(金) 01:20:17.79ID:6MCwvJPz
ドラストでポーチも3センチは縮んだな
173login:Penguin
垢版 |
2024/08/16(金) 01:29:29.32ID:mIX5pph0
>>88
ここが総楽観の時だっけ?
さすがに疑問だけどなぁ
付き合ってると思われる
https://i.imgur.com/8L22PHO.png
174login:Penguin
垢版 |
2024/08/16(金) 01:32:34.26ID:KTNGdFQU
>>97
は
ただ単に
朝チュンレベル
そのドラマ
175login:Penguin
垢版 |
2024/08/16(金) 02:13:10.70ID:2NoiDKXh
現代に匹敵するやつがいたら出ていたような…
言い方悪いけど父方の祖母もシングルマザーで再婚だよね
毎日働いててサセンに毎週通ってたってただけ」
https://i.imgur.com/RQaJyxJ.jpeg
https://i.imgur.com/KWt9R2Q.jpeg
2024/08/17(土) 22:57:48.27ID:koAb4QOH
閑散相場が過ぎる
まぁそのうち税金払うようない
177login:Penguin
垢版 |
2024/08/17(土) 23:16:26.55ID:fdkCYisj
>>101
檻牛 現在+04 最多貯金18(05/13)
https://i.imgur.com/zfl8x6W.png
178login:Penguin
垢版 |
2024/08/18(日) 00:02:08.32ID:Pwqa8Oqi
昔は眠気に耐えつつデイトレしちゃいかんのか
https://i.imgur.com/Hil0649.jpeg
179login:Penguin
垢版 |
2024/08/18(日) 00:19:21.94ID:5DP/Z/p/
>>87
俺の買値までまだ5ティックある
180login:Penguin
垢版 |
2024/08/18(日) 00:19:42.29ID:5DP/Z/p/
>>173
価値観の乖離が大きくて全部ひっくるめた数字だけじゃなくて感情は全く無くて可愛いとか本来アマ選手に要らないはずなのに球速あんま出ないコントロールタイプだし
トップスの時にセブン行ってない馬鹿が多い
181login:Penguin
垢版 |
2024/08/18(日) 00:21:54.95ID:GYc/YbbZ
>>30
ガーシー儲って青春時代をまともなゲーム作らなくなるジャンル
182login:Penguin
垢版 |
2024/08/18(日) 01:36:01.11ID:QEo9ZaF7
いい加減な会社まじで
2024/08/18(日) 01:49:56.27ID:OMLnkwf2
作者: よしながふみの大奥完結して荒してるわ
朝には燃えないとはならんのよ
13日連続日中仕事
2024/08/18(日) 02:56:46.87ID:m/fQZ/Sm
このスレ潰していいだろ
荒らしでもいいから一気に潰して
2024/08/19(月) 20:06:29.01ID:U31smRLZ
100 text11:text12:text13
101 text221:text222
105 textxxx:textyyy:textzzz

このような、ID(行の先頭、数字の繰り返し)+空白+コロン区切りの文字列が任意個並んでいる
ファイルがあります

これを
・IDと最初のコロンまで→ID<タブ>textXX<改行>と置換
・それ以降のコロン区切り→<タブ>textXX<改行>textYYと置換
と、タブ文字(\t)と改行(\n\r)で分割する処理をしたいです

例えばIDが100の行は
100<タブ>text11
<タブ>text12
<タブ>text13
としたいです

こんな動作をするスクリプトを紹介いただきたいです
2024/08/20(火) 02:18:16.32ID:nEDCrFKa
宿題は自分でやろうね
187login:Penguin
垢版 |
2024/08/22(木) 00:37:45.05ID:i7Z+NkOw
>>185
たぶん、IDの後に改行を入れない方法が分からないのではと愚行するが、
sedの最初の置換でgオプションをつけなければ、最初の1つ目が処理されるよ。
188login:Penguin
垢版 |
2024/08/23(金) 12:53:46.44ID:gCBQWzqI
君はスキノサウルスあるやろ
https://i.imgur.com/ZRGprKh.jpeg
https://i.imgur.com/nXJYgTw.png
2024/09/14(土) 16:23:29.53ID:+apC+RN0
NGレス番号123-184,188

ところで専ブラのSikiを使っているんだけどさ
--no-sandbox付けないと起動しないんで
いちいちターミナルでポチポチするの面倒だからシェルスクリプト書いてそこから起動させてる

#!/bin/sh
/home/oresama/Siki-0.31.10.AppImage --no-sandbox
sleep 1;

にしてるんだけど
バージョンアップ時に書き換えしないで済むように出来ないかな?
2024/09/14(土) 16:33:46.75ID:LtyoCAMa
Sikiのファイル名のバージョン削れ
2024/09/14(土) 18:07:43.42ID:+apC+RN0
>>190
でもそれだとアプデごとに削ることになるから手間暇変わらんのよね
2024/09/14(土) 18:16:32.80ID:4sLzdNTL
単に /home/oresama/Siki-*.AppImage とかでいいんじゃないの
複数あった場合等を考慮するなら最初の1つだけを採用するような細工もいるけど
2024/09/14(土) 19:27:29.58ID:+apC+RN0
>>192
これで大丈夫です
ありがとうございます
2025/03/14(金) 22:06:45.16ID:yQqaZaMG
#!/bin/bash
export RSYNC_RSH="sudo -u username ssh"
rsync --rsync-path="sudo rsync" -avR --delete ...

上記で実行できるものをこんな風にするとエラーになるのはなぜでしょう?
まだ引用符のエスケープがどこがまずいのかな?

#!/bin/bash
export RSYNC_RSH="sudo -u username ssh"
rsyncopt="--rsync-path=\"sudo rsync\" -avR --delete"
rsync ${rsyncopt} ...

次のようにまとめるのはどうしてもうまくいかずに諦めました。

rsyncopt="-e \"sudo -u username ssh\" --rsync-path=\"sudo rsync\" -avR --delete"
rsync ${rsyncopt} ...
2025/03/14(金) 22:21:23.61ID:TSxOQOne
$ rsyncopt="--rsync-path=\"sudo rsync\" -avR --delete"
$ for i in ${rsyncopt} ; do echo $i ; done
--rsync-path="sudo
rsync"
-avR
--delete

という風にスペースで切られてる
196194
垢版 |
2025/03/14(金) 23:51:20.65ID:yQqaZaMG
どうもありがとう。
sudo rsyncみたいなのについて調べながらあちこち拾い読みしてて、
少しよく読めばいろいろ中途半端でした。

https://superuser.com/questions/354361/rsync-complaining-about-missing-trailing-in-a-bash-script
197login:Penguin
垢版 |
2025/04/15(火) 21:00:01.52ID:fqe9VUsg
300コある連番のファイル名を次のように一気に変更したいです

001.txt → あいうえお.txt
002.txt → かきくけこ.txt
003.txt → さしすせそ.txt
…
300.txt → ほにゃらら.txt   

変更後の名前はテキストファイル(name.txt)に入っていて、対応する行番号の文字列のファイル名にしたいです

name.txt
あいうえお
かきくけこ
さしすせそ
…
ほにゃらら

↑ 300行ある
どうしたらいいでしょうか?
2025/04/15(火) 23:55:33.70ID:sx1QUHxq
forとreadを駆使してやれないこともないが、一回しか使わないのであれば
エディタの機能でname.txtの先頭にmv 行番号.txtを挿入してしまうのが簡単に思う
マルチカーソルか矩形選択のあるエディタなら簡単
199login:Penguin
垢版 |
2025/04/16(水) 00:40:12.08ID:6F/gZE8F
確かに…冷静に考えたらシェル芸的なこと考えるよりハードコードしたほうが楽でした
ありがとうございます!
2025/04/16(水) 05:45:52.95ID:sOfZDkAa
>>199
一時ファイルを作成していいなら、自分なら
mv 連番.txtが入った一時ファイルとnames.txtをpasteで連結して別の一時ファイルに吐き出して、その一時ファイルを実行するシェルスクリプトを書くかな。
paste <(for t in {001..100}.txt; do echo mv $t; done) names.txt
みたいな感じで
2025/04/16(水) 10:34:00.18ID:jfx6KBiR
専用使い捨てハードコーディング 良い発想だね
汎用を目指すのも主流の思想だけに 忘れそうになる観点
2025/04/16(水) 11:03:27.27ID:LdqpgNDU
bashでViモード使ってる時はv押して一時的なVimを開き、Vim内でlsしてファイル名取得して矩形選択で編集して、Vim閉じれば記載内容が実行される感じで使い捨てが楽だった
zshのViモードはVimは開かないからそこはbashが惜しい
2025/05/01(木) 14:45:58.34ID:z1HjPwT8
>>197
cat -n name.txt | while read n t; do
s=$(printf "%03d.txt" $n)
f="$t.txt"
mv -f "$s" "$f"
done
2025/05/01(木) 14:55:31.56ID:z1HjPwT8
>>194
eval "rsync ${rsyncopt} ..."
2025/05/01(木) 15:30:21.53ID:mHbJP3Tq
>>203
name.txtには、1行につき項目は1つだけだよ。t のみ
行番号は何行目というのだろう。nが入ってるんだったら「行」は要らない番号でいいだろからね
2025/05/01(木) 15:42:16.40ID:mHbJP3Tq
n=0
while n=$((n + 1)); read t; do
s=$(printf "%03d.txt" $n)
f="$t.txt"
[ -f "$s" ] && [ ! -f "$f" ] && mv -f "$s" "$f"
done < name.txt

デバッグするとこうかな。動かしてないけど
cat ... | while でもいいけど、zsh/kshじゃなきゃパイプでのサブプロセス問題があるから使わない方向にした。これではその問題は発生しない関係ないけど
2025/05/01(木) 16:39:16.32ID:z1HjPwT8
>>205
cat -n
208login:Penguin
垢版 |
2025/07/06(日) 10:20:20.05ID:mxVBG5kA
プログラム技術板のシェルスクリプト総合スレ消えた?
あそこ一番活発で伸びてたスレだったと思うんだけれど
建てて良いかな?
209login:Penguin
垢版 |
2025/07/07(月) 10:36:25.85ID:a7b43M24
falseより[ ]の方が使いでがあるように最近思えてきた
タイプ数も少ないし、見た目でブラケットの中に何もないことから、空(falsy)意味論を理解するのも容易
210login:Penguin
垢版 |
2025/07/07(月) 10:40:46.91ID:a7b43M24
まあさすがに変数に入れる時はさすがにtrueと対になって対称性のあるfalseを使うけど

avail-p=false

if
avail-p; then
cmd do-smething-not-available
fi

avail-p=true
if avail-p; then
cmd do-smething-available
fi

おれは大体こんな感じでフラグ管理してる
211login:Penguin
垢版 |
2025/07/07(月) 19:16:50.58ID:lSyk0nlH
>>208
プログラム技術板にもあったけど活気があったのはUNIX板の奴だった気が

UNIX系の板自体がもはやかつての活気はないし、今後はAIに質問するのが主流になるだろうから
たてても過疎るだけじゃないかな
212login:Penguin
垢版 |
2025/07/07(月) 19:28:15.68ID:lSyk0nlH
>>209
[ ] なんて使ったことなくて、この書き込みで初めて知ったわ

知らずに他人のソース読んでる際にこの表現がでてきたら
「なにか式を書こうとしてそのまま忘れたんだろうなぁ(、何が入るか全くわからん...)」
になるので他人には優しくないかも
213login:Penguin
垢版 |
2025/08/27(水) 21:47:15.09ID:36SOHlNb
いや、if false;then∼fiなんて、複数行のコメントアウトに使うものw

emacslispの(if nil (progn∼)と同じ
214login:Penguin
垢版 |
2025/09/10(水) 14:33:05.43ID:J9+LxTbs
>>212
if [ 1 -eq 2 ]; then
echo "絶対に成立しない条件"
fi

などと書いておけば、コメントすらいらない。
2025/09/10(水) 15:00:13.07ID:NIhEJxA7
[ ] だと "]" のパースがはいるのに対してfalseは引数の処理が要らないからfalseのほうがいいんじゃないか(パラノイア
2025/09/10(水) 19:43:28.20ID:tqss3UDy
確かにそうなのか…
でもそれ言っちゃうならif分岐しないで
普通にコメント行でいい気もビレゾン
217login:Penguin
垢版 |
2025/10/02(木) 23:22:18.76ID:yBrdr//C
>>215
その実行速度差に意味があるなら、どういう使い方をしているのは説明しろよ!
218login:Penguin
垢版 |
2025/10/09(木) 17:30:59.98ID:GRGK1JIK
シェルスクリプトの実行速度を気にして可読性を下げた構文にしてもいいが、説明のコメントを書く必要はあるから、趣味以外ではやらない方がいい。
2025/10/10(金) 11:34:27.53ID:BTJmyFDx
linuxじたいの超絶初心者です
apacheのルートディレクトリの変更で手こずってて
何回もapache restartや
condigtesとかやったり
同じようなフォルダに行ったり
config関連のファイルを開いて書き換えたりしてます

何回も同じ文字列を打つのが面倒なのですが
そういうのを解決するのは、シェルスクリプトなんでしょうか?
そんなくらい手で打つほうが楽って上級者ばかりなのでしょうが
自分は、そのつど検索して打ち直したり、ターミナルの履歴たどってやったり

input-remapperというソフトがあったので
テンキーの1を押したら、再起動のコマンド文が入力されるようにしようかと思ったけど
apacheの文字出すだけでも
一文字ごとに+を入れないとダメみたいで、なかなか手間がかかりそうなのでとりあえずやめときました

なにか良いアイデアはあるでしょうか?
2025/10/10(金) 11:35:40.88ID:eylOxkng
>>219
condigtesとかやったり
↑
configtestの打ち間違いです
221login:Penguin
垢版 |
2025/10/10(金) 12:53:12.54ID:CR56Lou9
エイリアス使え
222login:Penguin
垢版 |
2025/10/10(金) 13:53:53.00ID:nw5JVwKx
tab補完
history
があるよ
2025/10/10(金) 15:34:10.73ID:j6HXVbm2
エイリアス、関数、シェルスクリプト、zsh-autosuggestions
2025/10/11(土) 09:32:27.19ID:C5a7utix
検索してみます
ありがとう
2025/11/29(土) 13:15:00.97ID:RooyRT2w
そもそもシェルスクリプトなんて、ターミナルのコマンドライン上で書いて、再利用できそうなら、適当なテキストファイルに貼っとくもんだw
226login:Penguin
垢版 |
2026/01/28(水) 12:46:13.10ID:12deMOZP
いい歳して今更オライリー頼んじゃった><
227login:Penguin
垢版 |
2026/01/29(木) 05:25:59.51ID:osGa1Y0N
今は何でもLLMに質問できるからな……
2026/07/21(火) 20:09:32.07ID:jNQYpuZQ
今日、初めて、zshの**(再帰検索)を知った。
めっちゃ便利やん。
find使わんでもfindを使ったような一括処理ができる
find . -type f -name "*.webp" -exec bash -c 'for f; do magick mogrify -format jpg "$f" && rm "$f"; done' _ {} +
と今まで書いていたのが
for f in **/*.webp; do magick mogrify -format jpg "$f" && rm "$f"; done
で済む
2026/07/22(水) 05:19:06.57ID:XaMozcjW
便利だね

ちなみにAIによると、bashでもver4.0以降なら
shopt -s globstar nullglob # ←これ必要
for f in **/*.webp; do magick mogrify -format jpg "$f" && rm -- "$f"; done
が出来るんじゃないかな
230login:Penguin
垢版 |
2026/07/22(水) 17:45:20.24ID:2vbXf8Gh
bash でも shopt -s globstar 実行したら ** が使えるらしい
ドット開始のファイル/フォルダ名も処理対象にしたいなら shopt -s dotglob も追加
231login:Penguin
垢版 |
2026/07/23(木) 05:36:43.65ID:Nwxr/JU4
ほー、
今までディレクトリ以下のファイル内にgrepするとき
grep keyword *.py
grep keyword */*.py
grep keyword */*/*.py
ってやってたけど
grep keyword **/*.py
で出来るんだ
2026/07/23(木) 06:52:10.68ID:S8xk3zuY
一つ一つmogrifyするんじゃなくて
見つけた.webを以下のように一気に並列処理するとどうだろうか

(magick mogrify -format jpg "01.web" && rm -- "01.web") &
(magick mogrify -format jpg "02.web" && rm -- "02.web") &
 …
(magick mogrify -format jpg "98.web" && rm -- "98.web") &
(magick mogrify -format jpg "99.web" && rm -- "99.web") &
wait

.webpが多いとハングアップ状態になると思うので
数個単位で分割とかCPU負荷に応じて並列実行数を可変にするとか
2026/07/23(木) 06:53:17.80ID:S8xk3zuY
> (magick mogrify -format jpg "01.web" && rm -- "01.web") &

↓

(magick mogrify -format jpg "01.webp" && rm -- "01.webp") &

拡張子間違ったw
234login:Penguin
垢版 |
2026/07/23(木) 11:30:46.05ID:H7rg7K1S
繰り返しは for 文か xargs 使おうぜ。
xargs で4並列実行の例:
printf "%s\n" {01..99}.webp | xargs -d $'\n' -n 1 -P 4 bash -c 'magick mogrify -format jpg "$1" && rm -- "$1"' --

# 通常は printf じゃなくて find . -name '*.webp' に差し替えで
235login:Penguin
垢版 |
2026/07/23(木) 11:32:13.65ID:vtHrtAQx
>>231
grep なら伝統的に -r オプションがあるだろ。
と筆が走ったはいいが、自分でほぼ使ったことがないので調べると、4行目のようにするらしい。

1 $ mkdir -p a/b/c/d
2 $ echo 'keyword' | tee a/b/c/d/keyword.py > a/b/c/d/keyword.txt
3 $ cd a
4 $ grep -r --include='*.py' 'keyword'
5 b/c/d/keyword.py:keyword
6 $
2026/07/23(木) 13:15:08.74ID:S8xk3zuY
>>234
xargsって並列個数指定出来るんだ

GNU parallelも良いかな
https://thinkit.co.jp/article/38957
237login:Penguin
垢版 |
2026/07/30(木) 19:19:43.23ID:3tgLljX9
シェルスクリプトは可読性も大事
238login:Penguin
垢版 |
2026/08/10(月) 21:35:37.59ID:un2GkJsF
いやーやっぱshellって凄いな。感謝しかないわ。
何なのこの効率のよさ。何処までも俺のガラクタ脳みその能力を最大限引き出してくれる感じ。覚えたbad knowhowを無駄なんかないぜって活かしてくれる駄目な俺の守護神。
何日もこなさないといけない事柄を考え抜いて、これ書くのまた何日かかるんだろ、これは簡単じゃないし、AIに聞いても助けにならない難易度のやつ、苦労するなと思ってたらshellで動きを確かめたら、あれ?これひょっとしてと思ったら、そのまま一時間ぐらいで書ききれてしまった。

浮いた時間は...精進する為に使えって事なんだね。攻めるぜ!
239login:Penguin
垢版 |
2026/08/10(月) 21:39:33.29ID:ad6JJENu
>>237
いまはAIあるから、問題ない。
読みやすくして、コメントつけて解説して
と指示したらいい。
240login:Penguin
垢版 |
2026/08/10(月) 21:40:24.18ID:ad6JJENu
>>238
書き込む前にAIで校正してもらったほうがいい。
241login:Penguin
垢版 |
2026/08/10(月) 22:58:42.30ID:WggsIsjK
shellcheckとshfmtすごいな
2026/08/11(火) 22:35:10.72ID:q9yeERdD
シェルスクリプトをshellと略すのはやめた方が良いようです

VS Code + Bash Debug
でbashシェルスクリプトをIDEでステップ実行・デバッグできるらしい
ということを知ったので時間ある時実験してみたい
243login:Penguin
垢版 |
2026/08/13(木) 13:34:10.43ID:UohDn0mz
俺はどうにもvscodeで動かないので端末からbashdbでやってる
このbashdbもmainブランチだと最新bashに対応してないので別ブランチを持ってこないと駄目だとか色々大変でした
244login:Penguin
垢版 |
2026/08/13(木) 13:35:45.11ID:O9dtbIvv
>>242
AIに任せたら全部正しくしてくれるから、デバックなんて作業しなくなった。
245login:Penguin
垢版 |
2026/08/13(木) 14:11:42.69ID:UohDn0mz
デバッグ作業が楽しいのにねえ
246login:Penguin
垢版 |
2026/08/13(木) 14:13:29.73ID:O9dtbIvv
>>245
AIに一度任せてみたら?いかに無駄な作業かわかるから。
2026/08/13(木) 14:22:58.62ID:bZYVXLxM
その作業をすることで得られる知見も有るから一概に無駄と片付けるのもどうかと
248login:Penguin
垢版 |
2026/08/13(木) 14:24:08.34ID:O9dtbIvv
>>247
そういう時代もあったけど、その知見も必要なくなっているのが今。
249login:Penguin
垢版 |
2026/08/13(木) 17:57:16.89ID:UohDn0mz
ちゃんとAIも併用してるから安心して
そう鼻息荒く説かなくて良いよw
250login:Penguin
垢版 |
2026/08/13(木) 18:41:43.71ID:O9dtbIvv
>>249
時代遅れ。
2026/08/13(木) 22:45:57.46ID:JohXWfgJ
AIが書いたコードを読まずに動かすのは怖いな

bashスクリプトをよく書いてもらってるけど
・空白混じりのファイル名を扱うところでバグる
・ファイルが存在しないのに実行するとバグる
・まるで勘違いのシステム操作
などといった超凡ミス・クリティカルミスがたびたびある
バグってシステム壊れたりお宝ファイルが消滅するリスクがある

人間が作ったコードはテストされていてそんなミスは少ないと思う
AIが書いたコードはレビューもテスターも自分が第一号
252login:Penguin
垢版 |
2026/08/13(木) 23:59:59.96ID:SfHC8Sm4
変数をダブルクォーテーションで括らない(=空白混じりの文字列を
複数引数としてパーズしてしまう)癖があるのは確かに気になる

コンパイル言語で括らないほうを好むように学習してしまってるんだろうな

ただ逆に自分より賢い/よりノウハウが詰め込まれた汎用性の高いコードを
返してくることもあるので侮れない
2026/08/14(金) 00:07:12.97ID:WBiwKfs4
定番なのに今まで自分は知らなかった手法を書いてくれた時は感動する
何やってるか分からないところは分かるまでAIに質問攻めしたり調べたりして
全て理解してからじゃないと実行しない
2026/08/14(金) 06:42:03.11ID:VWod7kn+
ChatGPTな登場してスクリプトの理解度が上がった
わからない行は丁寧に教えてくれるし、
知らなかった文法や、アルゴリズムも新しい知識として得られる
Linuxと生成AIって相性が本当によい
255login:Penguin
垢版 |
2026/08/14(金) 07:59:50.72ID:KOm0o+8U
もっともらしい嘘をつくのもAIなんだが
256login:Penguin
垢版 |
2026/08/14(金) 11:18:45.81ID:bVU+G+he
Google でコマンド調べてるとたまに存在しないコマンドラインオプション提示してくるよね...
2026/08/14(金) 16:17:13.99ID:y2KVGNtr
>>255
ハルシネーション前提で使い、必ず裏どりをしてから使えば問題はない。
自分で思い付かない方法や知らなかったことに対して気づきを与えてくれるのがAIの利点。
レスを投稿する


ニューススポーツなんでも実況