>>30
それこそ、知ったかぶりにも満たない妄言なんしゃねえの?w
シェルスクリプト質問スレ
2020/12/06(日) 01:03:45.60ID:pAeBLops
2020/12/06(日) 01:52:29.29ID:cfA/TiGD
33login:Penguin
2020/12/06(日) 01:56:35.20ID:/kQnwSfL2020/12/06(日) 02:08:08.39ID:cfA/TiGD
GOTO禁止ブームや構造化プログラミングがでたのっていつなんだろう?
シェルスクリプトにGOTOがないのはその話を踏まえた上の設計だよね?
シェルスクリプトにGOTOがないのはその話を踏まえた上の設計だよね?
2020/12/06(日) 02:08:31.12ID:jGLSVz7n
スクリプト言語の制御構造をマシン語命令とか言うバカ、初めて見た
2020/12/06(日) 02:09:38.25ID:cfA/TiGD
2020/12/06(日) 02:11:28.22ID:cfA/TiGD
最初のシェルは1971年だから、やっぱりGOTO有害論のあとか
https://ja.wikipedia.org/wiki/Thompson_Shell
https://ja.wikipedia.org/wiki/Thompson_Shell
2020/12/06(日) 02:16:15.15ID:pAeBLops
2020/12/06(日) 02:30:39.96ID:cfA/TiGD
> Thompson Shell のデザインは、Multics の模倣を意図したものだった。
> プログラムの分岐処理で欠かせない if や goto といった語ですら、別々のコマンドとして実装されていた[1]。
って書いていたから当時はまだgotoあったんだな
改良するにつれてなくしたと
> プログラムの分岐処理で欠かせない if や goto といった語ですら、別々のコマンドとして実装されていた[1]。
って書いていたから当時はまだgotoあったんだな
改良するにつれてなくしたと
2020/12/06(日) 02:33:16.62ID:cfA/TiGD
POSIXシェルの前身であるBourne Shellでようやくgotoが消えたっぽい
https://ja.wikipedia.org/wiki/Bourne_Shell
https://ja.wikipedia.org/wiki/Bourne_Shell
41login:Penguin
2021/06/06(日) 22:12:52.88ID:EGRoOpIk 標準出力の速度を制限したり、通信速度を表示するコマンドってありますか?
42login:Penguin
2021/06/07(月) 02:12:34.71ID:a9qe7L9c マルチは死ねば良いのに
43login:Penguin
2021/06/07(月) 11:25:30.38ID:vEYRV92+ >>42
ありがとうございましたーーーー!
ありがとうございましたーーーー!
2021/06/15(火) 12:05:40.24ID:WDa66Wnu
標準入力をreadして変数に溜め、望みの時間sleepして標準出力にechoするだけのwhileループじゃん
2021/06/18(金) 16:00:55.53ID:bouE9vru
テキスト行の末尾に改行があればそのまま、なければ改行を追加、みたいなフィルタはどう書くのが簡単?
sed -z ...でできるんだけど、実はもっとあっさり!だったりしないかな。
sed -z ...でできるんだけど、実はもっとあっさり!だったりしないかな。
2021/06/18(金) 16:13:51.93ID:xODAv2nB
>>45
改行のない行の末尾って何よ。
改行のない行の末尾って何よ。
2021/06/18(金) 17:47:38.78ID:bnil1fLC
$ cat sample.txt
(snip)
This line is end of file.[EOF]
を
$ cat sample.txt
(snip)
This line is end of file.
[EOF]
にしたいってことじゃね?
(snip)
This line is end of file.[EOF]
を
$ cat sample.txt
(snip)
This line is end of file.
[EOF]
にしたいってことじゃね?
2021/06/26(土) 13:29:06.46ID:3hhiwe6I
cat aaa | awk '1'
これなら、sedよりあっさり?
とは言えないか。
これなら、sedよりあっさり?
とは言えないか。
2021/07/03(土) 19:05:53.16ID:QPB5ysNZ
行末に改行があろうがなかろうが改行文字(\n)を削除してから
行末文字($)を改行文字(\n)で置き換える(行末に改行文字を追記する)
cat sample.txt | tr --delete '\n' | sed 's/$/\n/'
行末文字($)を改行文字(\n)で置き換える(行末に改行文字を追記する)
cat sample.txt | tr --delete '\n' | sed 's/$/\n/'
2021/07/03(土) 22:59:15.09ID:EIKNeueg
よくこんな暗号みてぇなもん覚えられんなw
2021/07/03(土) 23:33:42.29ID:jCdyWCtw
インタラクティブにシステムコール呼べたら楽かなと思ってbashのヒアストリングをgccに食わせたんだけど
gcc -o ${blob} <<ccode
\#include <...>
...
${fun}(${argv})
ccode
ld:/dev/fd/nn見つからないよ
collect2: ld returned 1
gccがldを非同期実行し、fdが回収された後にもldが動いてるのかと思い
(gcc ... & 1s)のように遅らせてもダメな謎
とりあえずmktempで動きはするけど、中間ファイル要らないクリーンなやり方ないかな
大体こんな雰囲気
code=$(mktemp --suffix \.c)
blob=…
(include/漁って型取得、引数成形)
IFS=, declare argv="$*"
cat <<c >|${code}
\#include <...>
...
${fun}(${argv})
...
c
gcc ${code} -o ${blob}
rm -rf ...
gcc -o ${blob} <<ccode
\#include <...>
...
${fun}(${argv})
ccode
ld:/dev/fd/nn見つからないよ
collect2: ld returned 1
gccがldを非同期実行し、fdが回収された後にもldが動いてるのかと思い
(gcc ... & 1s)のように遅らせてもダメな謎
とりあえずmktempで動きはするけど、中間ファイル要らないクリーンなやり方ないかな
大体こんな雰囲気
code=$(mktemp --suffix \.c)
blob=…
(include/漁って型取得、引数成形)
IFS=, declare argv="$*"
cat <<c >|${code}
\#include <...>
...
${fun}(${argv})
...
c
gcc ${code} -o ${blob}
rm -rf ...
2021/07/04(日) 18:31:48.85ID:kHg5RL8R
単にgccが標準入力をソースコード扱いしたりはしないってだけでは
/usr/lib/gcc/中略/cc1なら標準入力を取るけどこのパスの特定は面倒だし、素直に中間ファイル作ったほうが良さげでは
perlとかpythonで済むならそっちでも
/usr/lib/gcc/中略/cc1なら標準入力を取るけどこのパスの特定は面倒だし、素直に中間ファイル作ったほうが良さげでは
perlとかpythonで済むならそっちでも
53login:Penguin
2021/07/05(月) 04:04:46.24ID:mQ20rymu54login:Penguin
2021/07/05(月) 19:18:48.07ID:Pk2boC0r2021/07/05(月) 19:33:04.73ID:AjlMGFnC
>>54
ファイル終端
ファイル終端
2021/07/05(月) 19:43:42.34ID:DgsJIMGq
2021/07/05(月) 20:37:17.76ID:AjlMGFnC
>>56は理解力がゼロなタイプ。w
2021/07/07(水) 16:25:53.24ID:ITjV3pwU
>>52
返信遅くなってごめん
進捗
プロトタイプはマクロだらけの生ヘッダよりman 2/3から抽出してテキストに纏めると楽にできた
手間は掛かったけどシェルから色々実験できて楽しい、見返りはあった
特定の変数に入れて返されるエラーコードはハードコードして拾うしか無さそうだけど、そこまではいいかな…
フロントエンドのgccでなく直接cc等呼ぶのも試してみる、ありがとう
返信遅くなってごめん
進捗
プロトタイプはマクロだらけの生ヘッダよりman 2/3から抽出してテキストに纏めると楽にできた
手間は掛かったけどシェルから色々実験できて楽しい、見返りはあった
特定の変数に入れて返されるエラーコードはハードコードして拾うしか無さそうだけど、そこまではいいかな…
フロントエンドのgccでなく直接cc等呼ぶのも試してみる、ありがとう
2021/07/07(水) 16:38:49.73ID:L74nIjWf
60login:Penguin
2021/07/21(水) 12:49:56.05ID:pz8Jt368 あるフォルダが存在するか否かによって分岐させたく
if [ -d ./$DIR]; then
hogehoge
という形でスクリプトを書いているのですが
現状~/shell_scriptにパスを通してここにそのスクリプトを置いて実行しているので~/shell_scriptに$DIRが存在するかで判定されてしまいます
これをなんとか実行するディレクトリでフォルダの有無を確認するようにしたいのですが何かいい方法はないでしょうか
if [ -d ./$DIR]; then
hogehoge
という形でスクリプトを書いているのですが
現状~/shell_scriptにパスを通してここにそのスクリプトを置いて実行しているので~/shell_scriptに$DIRが存在するかで判定されてしまいます
これをなんとか実行するディレクトリでフォルダの有無を確認するようにしたいのですが何かいい方法はないでしょうか
2021/07/21(水) 13:01:20.15ID:rGKkhVvF
./$DIRで既にカレントディレクトリからの相対のはずなので、どこかでcdしていなければ
スクリプトの置き場所が影響するなんてないはずだけど
わざわざ ~/shell_script に移動してから実行とかしてない?
スクリプトの置き場所が影響するなんてないはずだけど
わざわざ ~/shell_script に移動してから実行とかしてない?
62login:Penguin
2021/07/21(水) 13:07:40.35ID:pz8Jt368 即レスありがとうございます
純粋にフォルダの指定方法が間違っていただけでした
ありがとうございます
純粋にフォルダの指定方法が間違っていただけでした
ありがとうございます
2021/07/29(木) 16:33:07.23ID:wWzOvGhA
環境変数指定のコマンドラインについて質問。
ENV=VALUE cmdline1
ENV=VALUE cmdline2
これをまとめたくて、次のようにするとエラー。
ENV=VALUE ( cmdline1 ; cmdline2 )
しかたがないので、次のようにしてます。
ENV=VALUE bash -c 'cmdline1 ; cmdline2'
なんかわかりにくいし、コマンドラインのクォートが面倒でもあるし、イヤな感じ。
もっときれいな書きかたはありませんか?
ENV=VALUE cmdline1
ENV=VALUE cmdline2
これをまとめたくて、次のようにするとエラー。
ENV=VALUE ( cmdline1 ; cmdline2 )
しかたがないので、次のようにしてます。
ENV=VALUE bash -c 'cmdline1 ; cmdline2'
なんかわかりにくいし、コマンドラインのクォートが面倒でもあるし、イヤな感じ。
もっときれいな書きかたはありませんか?
2021/07/30(金) 03:08:07.29ID:Ju9d/5Jx
( ENV=VALUE; cmdline1; cmdline2 )
2021/07/30(金) 11:42:44.94ID:nK/W8CHf
2021/08/01(日) 13:30:05.46ID:yremFR/t
#!/bin/sh -xってやると評価結果とかが色々表示されるけど、
スクリプトの中で別のスクリプト呼んでるような時に
その呼ばれたスクリプトも含めて色々表示させる方法ってありますか
そのスクリプトにいちいち-x付けてると面倒だし消し忘れとかもあるかなと
/bin/shを、/bin/sh -xして動かすようなものにしてみたけど
全てのシェルスクリプトの動作が変わり、OSがおかしくなって後悔した
スクリプトの中で別のスクリプト呼んでるような時に
その呼ばれたスクリプトも含めて色々表示させる方法ってありますか
そのスクリプトにいちいち-x付けてると面倒だし消し忘れとかもあるかなと
/bin/shを、/bin/sh -xして動かすようなものにしてみたけど
全てのシェルスクリプトの動作が変わり、OSがおかしくなって後悔した
2021/08/02(月) 04:10:48.82ID:4HLiG8xo
簡単な方法は思いつかないけど…
MY_DEBUG みたいな適当な環境変数でも使って、呼ばれるスクリプトの冒頭で
if [[ -n MY_DEBUG ]]; then set -x; fi
みたいにするとか。
MY_DEBUG みたいな適当な環境変数でも使って、呼ばれるスクリプトの冒頭で
if [[ -n MY_DEBUG ]]; then set -x; fi
みたいにするとか。
2021/08/02(月) 04:32:43.59ID:FScFnmXW
なんでそんなにデバッグコードを仕込みたくないのか分からんが、どうしてもと言うなら
sed -f inject_debug_cmd.sed production_code.sh | sh -s
ファイル全部-xデバッグはちょっとアウトプット多すぎて辛いと思うけど
変な動きしてるブロックを囲んで、単語分割が予想通りかくらいしか確かめるくらい
まあそこが一番のハマりどころだから重宝するが
sed -f inject_debug_cmd.sed production_code.sh | sh -s
ファイル全部-xデバッグはちょっとアウトプット多すぎて辛いと思うけど
変な動きしてるブロックを囲んで、単語分割が予想通りかくらいしか確かめるくらい
まあそこが一番のハマりどころだから重宝するが
2021/08/02(月) 04:41:51.79ID:FScFnmXW
最終的に残らなければいいだけなら、デバッグコードの行末にでも#dbgみたいなタグ付けといて、edでインプレースに消せばいいと思うけど
ソースツリー全体のシバンを消し忘れたくないだけならfind -name \*.shとかで列挙してデストロイ
ソースツリー全体のシバンを消し忘れたくないだけならfind -name \*.shとかで列挙してデストロイ
2021/08/02(月) 21:04:35.17ID:G1slmfmk
>>66
> /bin/shを、/bin/sh -xして動かすようなものにしてみたけど
そういう方向なら、もうちょっと凝って、呼び出し側のパスや特定の環境変数を見て切り替わるようにすればいいんでは。
無差別にやるから、init.rcとかで壊れるんやろ。
> /bin/shを、/bin/sh -xして動かすようなものにしてみたけど
そういう方向なら、もうちょっと凝って、呼び出し側のパスや特定の環境変数を見て切り替わるようにすればいいんでは。
無差別にやるから、init.rcとかで壊れるんやろ。
2021/08/03(火) 17:17:31.55ID:D5seBhyr
Bashのsourceコマンドについて確認。
source内では、その呼び出し側で設定していたset -eとか-uは無効?
source対象は、呼び出し側で実行されるんだから、それ以前のsetオプションは有効のままだと思ってたけど、実際にはそうではなかったみたいなので。
source内では、その呼び出し側で設定していたset -eとか-uは無効?
source対象は、呼び出し側で実行されるんだから、それ以前のsetオプションは有効のままだと思ってたけど、実際にはそうではなかったみたいなので。
2021/08/04(水) 01:07:23.38ID:WvUJWj2l
確認( ー`дー´)キリッ
ソース読めよsourceだろ?
ソース読めよsourceだろ?
2021/08/04(水) 18:00:30.36ID:+0tgCecS
>>71
自分でテストしろ
自分でテストしろ
2021/08/04(水) 18:07:10.99ID:+0tgCecS
2021/08/04(水) 18:12:17.43ID:MbNyhIMz
2021/08/04(水) 18:13:46.82ID:+0tgCecS
2021/08/04(水) 18:25:48.40ID:MbNyhIMz
>>76
○○なのか。後悔しない別の方法を探しているのだろう。
○○なのか。後悔しない別の方法を探しているのだろう。
2021/08/04(水) 18:55:26.52ID:+0tgCecS
だから後悔しない別の方法を探してるやつに
教えてやってんだろ
教えてやってんだろ
2021/08/04(水) 20:28:55.97ID:MbNyhIMz
2021/08/04(水) 21:50:09.74ID:+0tgCecS
ヤバイwこいつマジで日本語わかってないw
ワクチン打ちたくないって言ってる人に
コロナで死んでも問題ないんか?って言ったら
コロナで死ぬこと=後悔しないことだと思っちゃう人か
ワクチン打ちたくないって言ってる人に
コロナで死んでも問題ないんか?って言ったら
コロナで死ぬこと=後悔しないことだと思っちゃう人か
2021/08/05(木) 01:52:55.30ID:wTkH8tWI
82login:Penguin
2021/08/05(木) 10:14:38.35ID:ArLNvaBB >>81
そこは質問じゃねーだろ
アホなのはお前だよ
>>66(質問者)
> #!/bin/sh -xってやると評価結果とかが色々表示されるけど、
> スクリプトの中で別のスクリプト呼んでるような時に
> その呼ばれたスクリプトも含めて色々表示させる方法ってありますか
↓こっちは質問じゃなくて経緯
> /bin/shを、/bin/sh -xして動かすようなものにしてみたけど
> 全てのシェルスクリプトの動作が変わり、OSがおかしくなって後悔した
後悔したから、それ以外の方法で
> スクリプトの中で別のスクリプト呼んでるような時に
> その呼ばれたスクリプトも含めて色々表示させる方法ってありますか
って聞いてんだよ
日本語勉強しな
そこは質問じゃねーだろ
アホなのはお前だよ
>>66(質問者)
> #!/bin/sh -xってやると評価結果とかが色々表示されるけど、
> スクリプトの中で別のスクリプト呼んでるような時に
> その呼ばれたスクリプトも含めて色々表示させる方法ってありますか
↓こっちは質問じゃなくて経緯
> /bin/shを、/bin/sh -xして動かすようなものにしてみたけど
> 全てのシェルスクリプトの動作が変わり、OSがおかしくなって後悔した
後悔したから、それ以外の方法で
> スクリプトの中で別のスクリプト呼んでるような時に
> その呼ばれたスクリプトも含めて色々表示させる方法ってありますか
って聞いてんだよ
日本語勉強しな
2021/08/05(木) 18:22:33.65ID:wTkH8tWI
>>82
何が、そこは質問じゃねーだよ。
つまり、質問を全文読まなかったため、質問者の後悔した事とほぼ同内容のレスを、当の質問者に返してしまったというオチか。
なんだか言い訳すればするほど語るに落ちるやつだな。
何が、そこは質問じゃねーだよ。
つまり、質問を全文読まなかったため、質問者の後悔した事とほぼ同内容のレスを、当の質問者に返してしまったというオチか。
なんだか言い訳すればするほど語るに落ちるやつだな。
2021/08/05(木) 18:41:49.01ID:amyLRgLX
語るに落ちるって、、
85login:Penguin
2021/08/06(金) 04:06:13.46ID:01/4SE7K ああ、「質問者の後悔した事とほぼ同内容のレス」だと思ってんのか
これこそ語るに落ちるだな
これこそ語るに落ちるだな
2021/08/06(金) 04:11:09.65ID:01/4SE7K
質問者は/bin/shを/bin/sh -x に変えたからだめだと思ってんだよ
だから「後悔した後に」特定のスクリプト以下なら大丈夫だろうと思って質問してるんだろ
だからそれじゃだめだよってzcatの実例を出してるんだろ
まったく本当に理解力がないやつだな
だから「後悔した後に」特定のスクリプト以下なら大丈夫だろうと思って質問してるんだろ
だからそれじゃだめだよってzcatの実例を出してるんだろ
まったく本当に理解力がないやつだな
2021/08/06(金) 06:11:49.17ID:JRdsxYSZ
そこまで大規模な調査をするのなら、神ツール・strace でも使えば?
バグの場所を突き止めることは、同じ
バグの場所を突き止めることは、同じ
2021/08/06(金) 18:35:53.85ID:8QWMGd91
>>85
どんどん落ちるね。
> 全てのシェルスクリプトの動作が変わり、OSがおかしくなって後悔した
と、想定外のスクリプトへの影響を悔いているところに、想定外のzcatスクリプトもありまっせなんてのは言わずもがな。
質問者の後悔を再提示しているだけだよ。お前の中では懸隔しているとしてもね。
どんどん落ちるね。
> 全てのシェルスクリプトの動作が変わり、OSがおかしくなって後悔した
と、想定外のスクリプトへの影響を悔いているところに、想定外のzcatスクリプトもありまっせなんてのは言わずもがな。
質問者の後悔を再提示しているだけだよ。お前の中では懸隔しているとしてもね。
89login:Penguin
2021/08/07(土) 01:18:14.18ID:eQXGjGlL >>88
この2行も読めないの?
> だから「後悔した後に」特定のスクリプト以下なら大丈夫だろうと思って質問してるんだろ
> だからそれじゃだめだよってzcatの実例を出してるんだろ
質問者が後悔したあとに
またやろうとしてるんだから
再提示するのは当たり前やろw
zcatの問題に気づいてないんだから
この2行も読めないの?
> だから「後悔した後に」特定のスクリプト以下なら大丈夫だろうと思って質問してるんだろ
> だからそれじゃだめだよってzcatの実例を出してるんだろ
質問者が後悔したあとに
またやろうとしてるんだから
再提示するのは当たり前やろw
zcatの問題に気づいてないんだから
2021/08/07(土) 06:40:17.95ID:bukJwykK
>>89
また落ちた。それはお前の空想。
質問者は
> またやろうとして
いない。「色々表示させる方法」を尋ねている。表示させる方法イコールsh -xはお前の短絡思考。
まぁ想定外スクリプトも、質問者は言及済みであり、余人には言うまでもない当然の事でバカバカしい限りだが、お前の中では蒸し返す必要のある重要事だったんだろう。
無用の親切だが、親切であるのは悪いことではない。
また落ちた。それはお前の空想。
質問者は
> またやろうとして
いない。「色々表示させる方法」を尋ねている。表示させる方法イコールsh -xはお前の短絡思考。
まぁ想定外スクリプトも、質問者は言及済みであり、余人には言うまでもない当然の事でバカバカしい限りだが、お前の中では蒸し返す必要のある重要事だったんだろう。
無用の親切だが、親切であるのは悪いことではない。
91login:Penguin
2021/08/07(土) 08:36:34.67ID:eQXGjGlL > 表示させる方法イコールsh -xはお前の短絡思考。
表示させる方法イコールsh -xなんて
一言も書いてないんだが
それこそお前の短絡思考じゃんw
表示させる方法イコール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
じゃだめなん?
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コマンドで特定ファイルを抽出したらいいんだけど、もっとあっさりしたやりかたはないんかなー、と。
パッケージファイルをダウンロードしてから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とか使うべきだろう
それなら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>タグ毎にファイル出力する方法教えてください。
<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個文しかインデントできてなくて見にくくてすみません。
スペースで埋めたところがスペース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"}'
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まで並べることで
一応置換はできるのですが、長大な行となってしまっており、
どうにかならないかと思ってます
ファイル中の文字について、以下のような置換をしたいです
前 後
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
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 "$@"
"常に"がどういう意味かによる
ターミナルから自分の手で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とやるという運用を考えています
なるほど、あまり影響が大きいのは怖いですね、一番上がよさそうですね
強制的にリネームするときは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
どのようにすればよいか教えてください
以下のように表示したいと思ってます
./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
やりたいことを実現するだけなら、難しく考えずに最初の引数を表示したら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:E0KTKxgk119sage
2024/02/01(木) 04:56:02.13ID:Qr69cuyL #/bin/sh
for i in `seq 1 $#`; do
eval echo \\\$$i=\$${i}
done
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 &
打ち込みでシェルの内容が動くことは確認できるのですが、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で分けて
hpのコピペなんで。systemdとforeverで分けて
123login:Penguin
2024/08/06(火) 16:07:31.59ID:JwPN4FQ1 最初サイドブレーキかけたまま走って
立ちまくってるぞwこれだからハメカスはw
立ちまくってるぞwこれだからハメカスはw
2024/08/06(火) 16:14:52.86ID:pUn/StVI
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
なんか緊張するみたいなやつが
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:web9xKM7133login: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/L137login: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:3KNifrUQ141login:Penguin
2024/08/06(火) 18:39:04.33ID:yZ73GwJ1142login: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時に
コロナでえらいことに身体が耐えられずって感じ
ゴボちゃんって何なんだよな
右から左に戻った方がまだマトモだということでいいのに、起きたら8時に
コロナでえらいことに身体が耐えられずって感じ
146login:Penguin
2024/08/08(木) 17:39:42.75ID:e/cSXVtz147login: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でも高く出来るやん
ショマタンのスレは、「アンチ専用スレ」です。
未成年はとにかく今後左遷と盗撮に気を削ぎまくった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
まだ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:T6qhnFBA159login:Penguin
2024/08/09(金) 18:54:39.18ID:hZ3W78yK >>93
指ハートしてるんでただけなのでTS見てみろ
指ハートしてるんでただけなので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
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
付き合ってると幼稚な奴が
銘柄選びはもちろんだが、何もしてないから下がってる
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これだからな
夢母だの流行に敏感な女子や芸能好き女子は
脱毛だな、壺信者バレしてるぞ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:mIX5pph0174login:Penguin
2024/08/16(金) 01:32:34.26ID:KTNGdFQU175login:Penguin
2024/08/16(金) 02:13:10.70ID:2NoiDKXh 現代に匹敵するやつがいたら出ていたような…
言い方悪いけど父方の祖母もシングルマザーで再婚だよね
毎日働いててサセンに毎週通ってたってただけ」
https://i.imgur.com/RQaJyxJ.jpeg
https://i.imgur.com/KWt9R2Q.jpeg
言い方悪いけど父方の祖母もシングルマザーで再婚だよね
毎日働いててサセンに毎週通ってたってただけ」
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:fdkCYisj178login:Penguin
2024/08/18(日) 00:02:08.32ID:Pwqa8Oqi 昔は眠気に耐えつつデイトレしちゃいかんのか
https://i.imgur.com/Hil0649.jpeg
https://i.imgur.com/Hil0649.jpeg
179login:Penguin
2024/08/18(日) 00:19:21.94ID:5DP/Z/p/ >>87
俺の買値までまだ5ティックある
俺の買値までまだ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日連続日中仕事
朝には燃えないとはならんのよ
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
としたいです
こんな動作をするスクリプトを紹介いただきたいです
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+NkOw188login:Penguin
2024/08/23(金) 12:53:46.44ID:gCBQWzqI2024/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;
にしてるんだけど
バージョンアップ時に書き換えしないで済むように出来ないかな?
ところで専ブラの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つだけを採用するような細工もいるけど
複数あった場合等を考慮するなら最初の1つだけを採用するような細工もいるけど
2024/09/14(土) 19:27:29.58ID:+apC+RN0
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} ...
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
という風にスペースで切られてる
$ 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
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行ある
どうしたらいいでしょうか?
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を挿入してしまうのが簡単に思う
マルチカーソルか矩形選択のあるエディタなら簡単
エディタの機能で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
みたいな感じで
一時ファイルを作成していいなら、自分なら
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が惜しい
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
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} ..."
eval "rsync ${rsyncopt} ..."
2025/05/01(木) 15:30:21.53ID:mHbJP3Tq
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じゃなきゃパイプでのサブプロセス問題があるから使わない方向にした。これではその問題は発生しない関係ないけど
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
cat -n
208login:Penguin
2025/07/06(日) 10:20:20.05ID:mxVBG5kA プログラム技術板のシェルスクリプト総合スレ消えた?
あそこ一番活発で伸びてたスレだったと思うんだけれど
建てて良いかな?
あそこ一番活発で伸びてたスレだったと思うんだけれど
建てて良いかな?
209login:Penguin
2025/07/07(月) 10:36:25.85ID:a7b43M24 falseより[ ]の方が使いでがあるように最近思えてきた
タイプ数も少ないし、見た目でブラケットの中に何もないことから、空(falsy)意味論を理解するのも容易
タイプ数も少ないし、見た目でブラケットの中に何もないことから、空(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
おれは大体こんな感じでフラグ管理してる
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に質問するのが主流になるだろうから
たてても過疎るだけじゃないかな
プログラム技術板にもあったけど活気があったのは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∼)と同じ
emacslispの(if nil (progn∼)と同じ
214login:Penguin
2025/09/10(水) 14:33:05.43ID:J9+LxTbs2025/09/10(水) 15:00:13.07ID:NIhEJxA7
[ ] だと "]" のパースがはいるのに対してfalseは引数の処理が要らないからfalseのほうがいいんじゃないか(パラノイア
2025/09/10(水) 19:43:28.20ID:tqss3UDy
確かにそうなのか…
でもそれ言っちゃうならif分岐しないで
普通にコメント行でいい気もビレゾン
でもそれ言っちゃうなら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の文字出すだけでも
一文字ごとに+を入れないとダメみたいで、なかなか手間がかかりそうなのでとりあえずやめときました
なにか良いアイデアはあるでしょうか?
apacheのルートディレクトリの変更で手こずってて
何回もapache restartや
condigtesとかやったり
同じようなフォルダに行ったり
config関連のファイルを開いて書き換えたりしてます
何回も同じ文字列を打つのが面倒なのですが
そういうのを解決するのは、シェルスクリプトなんでしょうか?
そんなくらい手で打つほうが楽って上級者ばかりなのでしょうが
自分は、そのつど検索して打ち直したり、ターミナルの履歴たどってやったり
input-remapperというソフトがあったので
テンキーの1を押したら、再起動のコマンド文が入力されるようにしようかと思ったけど
apacheの文字出すだけでも
一文字ごとに+を入れないとダメみたいで、なかなか手間がかかりそうなのでとりあえずやめときました
なにか良いアイデアはあるでしょうか?
2025/10/10(金) 11:35:40.88ID:eylOxkng
221login:Penguin
2025/10/10(金) 12:53:12.54ID:CR56Lou9 エイリアス使え
222login:Penguin
2025/10/10(金) 13:53:53.00ID:nw5JVwKx tab補完
history
があるよ
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に質問できるからな……
レスを投稿する
ニュース
- 【地震速報】山梨県で震度6弱 津波の心配なし★5 [ぐれ★]
- 【外食】「焼肉きんぐ」の物語コーポ、女性バイトの低用量ピル全額補助 生理による体調に左右されず生産性高めるよう [ぐれ★]
- 【サッカー】「韓国を脱落させようとしているのか」 日本代表のドローに韓国メディアが怒り爆発「突然無気力になった」★3 [jinjin★]
- 大地震 [KingFisherは魚じゃないよ★]
- そりゃ相手にされないわ…エヌビディアCEOが台湾・韓国を訪問したのに日本は「素通り」したワケ [樽悶★]
- 【W杯】中村敬斗vs主審 短いソックスを注意される→見ていない間に再び下げる→後半履き替える ふくらはぎ付近には大きな穴も ★2 [ネギうどん★]
- しじん [616817505]
- TATSUMI🌊来ない
- 【実況】フランス🇫🇷vsノルウェー🇳🇴
- 深夜3時にホテルで撮った彼氏とのツーショットをインスタに上げてる女の子
- 本日 岩手→震度6強 山梨→震度6弱 何が起こってるの?😨 [931948549]
- 【FIFAワールドカップ2026】I組ノルウェー×フランス4:00(NHK3:45~,DAZN),セネガル×イラク(DAZN) [226731781]