シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その31
https://mevius.5ch.net/test/read.cgi/tech/1565446670/
探検
シェルスクリプト総合 その32
■ このスレッドは過去ログ倉庫に格納されています
2019/10/25(金) 00:08:45.53ID:6btPTvif
457デフォルトの名無しさん
2020/01/26(日) 23:20:03.89ID:5MGoPlaT >>456
> で,そいつら制御文字が標準出力に流れた時の挙動は未定義だから避けたほうがいいんじゃない?
いやだから、そういう理屈でいくと、
「色をつけるエスケープ文字も避けたほうがいいんじゃない?」って
言ってるってことでいいんだねって聞いてるんだが
> で,そいつら制御文字が標準出力に流れた時の挙動は未定義だから避けたほうがいいんじゃない?
いやだから、そういう理屈でいくと、
「色をつけるエスケープ文字も避けたほうがいいんじゃない?」って
言ってるってことでいいんだねって聞いてるんだが
458デフォルトの名無しさん
2020/01/26(日) 23:27:21.62ID:2jcz6vHU Ruby にも、CSV モジュールがある
デフォルト設定では、
行区切り文字は、改行
列区切り文字は、カンマ
クォート文字は、"
この3つの特殊文字が、要素内にない時は、クォートしなくてよい
逆に、ある時は、クォート文字で囲む。
その際、" だけは、"" と2つにする!
デフォルト設定では、
行区切り文字は、改行
列区切り文字は、カンマ
クォート文字は、"
この3つの特殊文字が、要素内にない時は、クォートしなくてよい
逆に、ある時は、クォート文字で囲む。
その際、" だけは、"" と2つにする!
459デフォルトの名無しさん
2020/01/27(月) 00:03:23.40ID:2UZekz3a >>458
話の流れが分からない馬鹿は引っ込んでろ
話の流れが分からない馬鹿は引っ込んでろ
460デフォルトの名無しさん
2020/01/27(月) 00:15:59.79ID:Ad8VU0Ek csvパーサー使えで終わる話を
延々とやってる暇人のほうがどう考えても馬鹿だと思うぞ
延々とやってる暇人のほうがどう考えても馬鹿だと思うぞ
461デフォルトの名無しさん
2020/01/27(月) 02:47:42.22ID:ZRdDiNHX 必要なのはCSVパーサーじゃないんでしょ?
462デフォルトの名無しさん
2020/01/27(月) 08:20:17.15ID:bYuDSUjl463デフォルトの名無しさん
2020/01/27(月) 12:19:59.05ID:3a7Xl2Zg じゃあ可搬な規格がない文字を出力する
POSIX標準のtputはアウトだねw
可搬な規格がない = 使ったらダメって考えなんでしょ
なんで可搬な規格がないから使ったらダメになるのかさっぱりだw
POSIX標準のtputはアウトだねw
可搬な規格がない = 使ったらダメって考えなんでしょ
なんで可搬な規格がないから使ったらダメになるのかさっぱりだw
464デフォルトの名無しさん
2020/01/27(月) 12:49:44.28ID:YY6i47O6465デフォルトの名無しさん
2020/01/27(月) 13:00:46.30ID:3a7Xl2Zg >>464
非可搬な文字だから,ちゃんと運用する予定のスクリプトに入れるのは不安
なんでしょ?その不安を解決するには禁止するしか無いじゃん
だいたい最初に聞いたはずだが、一体何がポータブルじゃないのかって。
ポータブルじゃないのはその文字を端末に表示した時の端末の挙動であって、
その文字を使ったときにシェルが誤動作するとかいう話ではまったくない
そもそも今回は画面に表示しないから全く関係ない。
スクリプトはどんな環境でも正しく動くのに避ける理由がない。
画面に表示した時の端末の挙動の話であることをあんたは理解してない
文字自体はポータブル(そもそもただの値でしか無い)
シェルスクリプトで使えないデータは 0x00 のみ(zshなど一部シェルでは使えるようだが)
非可搬な文字だから,ちゃんと運用する予定のスクリプトに入れるのは不安
なんでしょ?その不安を解決するには禁止するしか無いじゃん
だいたい最初に聞いたはずだが、一体何がポータブルじゃないのかって。
ポータブルじゃないのはその文字を端末に表示した時の端末の挙動であって、
その文字を使ったときにシェルが誤動作するとかいう話ではまったくない
そもそも今回は画面に表示しないから全く関係ない。
スクリプトはどんな環境でも正しく動くのに避ける理由がない。
画面に表示した時の端末の挙動の話であることをあんたは理解してない
文字自体はポータブル(そもそもただの値でしか無い)
シェルスクリプトで使えないデータは 0x00 のみ(zshなど一部シェルでは使えるようだが)
466デフォルトの名無しさん
2020/01/27(月) 13:02:14.15ID:3a7Xl2Zg × 画面に表示した時の端末の挙動の話であることをあんたは理解してない
? 理解したふりして本質的な所が分かってない。理解が浅いから
話がつながってることが分かってない。それぞれ単独に知ってるだけ。
? 理解したふりして本質的な所が分かってない。理解が浅いから
話がつながってることが分かってない。それぞれ単独に知ってるだけ。
467デフォルトの名無しさん
2020/01/27(月) 13:02:45.79ID:3a7Xl2Zg 文字化けした。ハテナではなくマル
468デフォルトの名無しさん
2020/01/27(月) 13:02:53.97ID:bYuDSUjl469デフォルトの名無しさん
2020/01/27(月) 13:04:22.94ID:3a7Xl2Zg 知らんがなw IDなんか見てないw
470デフォルトの名無しさん
2020/01/27(月) 13:09:39.68ID:J/l4gb9z そこはちゃんと見ろよ。相変わらずオッチョコチョイな奴だw
471デフォルトの名無しさん
2020/01/28(火) 10:45:44.35ID:kbn44J5i シェルスクリプトでC言語みたく
do {...;} while ()
的な書き方できないかな。
つまり最初に条件無視して絶対一回実行されるっていう。
do {...;} while ()
的な書き方できないかな。
つまり最初に条件無視して絶対一回実行されるっていう。
472デフォルトの名無しさん
2020/01/28(火) 11:54:17.23ID:nzUBCcWX while true; do
do_something
condition && break
done
do_something
condition && break
done
473デフォルトの名無しさん
2020/01/28(火) 13:32:33.77ID:wxWXUE5J while
do_something
condition
do :; done
do_something
condition
do :; done
474デフォルトの名無しさん
2020/01/28(火) 16:31:01.77ID:kbn44J5i >>473
すげ。thx
すげ。thx
475デフォルトの名無しさん
2020/01/28(火) 18:42:04.80ID:eRWskeVd do {...;} while () はいらない子
476474
2020/01/28(火) 20:54:08.43ID:kbn44J5i477デフォルトの名無しさん
2020/01/28(火) 21:18:03.61ID:G+y/1z2g 縁の下の力持ちだよ。
/usr/include で grep してみなさい。
/usr/include で grep してみなさい。
478デフォルトの名無しさん
2020/01/29(水) 13:54:11.80ID:B4xAwP+d wc -mがUTF-8とかの文字列でも正しく判定できててビビった。
GNU系はともかく組み込み向けの実装では
絶対無理だと思ってBusyboxとかで試したんだけど、
全部正しい文字数を数えれてた……。
寧ろ喜ぶべきなんだけど、なんか釈然としない(foldとかがポンコツなのに)
GNU系はともかく組み込み向けの実装では
絶対無理だと思ってBusyboxとかで試したんだけど、
全部正しい文字数を数えれてた……。
寧ろ喜ぶべきなんだけど、なんか釈然としない(foldとかがポンコツなのに)
479デフォルトの名無しさん
2020/01/29(水) 14:12:22.86ID:sm4oITBd 逆にbusyboxは動くやろw
不安なのはBSDやで、
あれ、それなりにOKだったらそこで終わってるやん
POSIXの最低基準さえ満たせればいいって思ってる。
busyboxはPOSIX完全準拠を目指さない代わりに
「現実的な用途で動くこと」を目指してる。
UTF-8対応も現実的な要件の一つだよ
不安なのはBSDやで、
あれ、それなりにOKだったらそこで終わってるやん
POSIXの最低基準さえ満たせればいいって思ってる。
busyboxはPOSIX完全準拠を目指さない代わりに
「現実的な用途で動くこと」を目指してる。
UTF-8対応も現実的な要件の一つだよ
480デフォルトの名無しさん
2020/01/29(水) 15:20:33.04ID:0dvwui3i fold -w n に関しては LC_CTYPE=ja_JP.UTF-8 grep -Eo '.{1,n}' とかにするとか
481デフォルトの名無しさん
2020/01/29(水) 16:06:00.43ID:9GJ5+8eT Windows版busyboxも日本語処理なんとかしてくれないかなぁ。
cp932の処理がいまいちなのか、コマンド・プロンプトで使うlsでダメ文字のファイルが表示されないよ。
cp932の処理がいまいちなのか、コマンド・プロンプトで使うlsでダメ文字のファイルが表示されないよ。
482デフォルトの名無しさん
2020/01/29(水) 16:13:50.96ID:sm4oITBd483デフォルトの名無しさん
2020/01/29(水) 16:26:53.62ID:Q03p/42V >>481
っ PowerShell
っ PowerShell
484デフォルトの名無しさん
2020/01/29(水) 20:21:31.86ID:B4xAwP+d >>480
grep優秀っすね…
grep優秀っすね…
485デフォルトの名無しさん
2020/01/29(水) 20:22:55.72ID:UE7eyrg0 grepは俺が育てた
486デフォルトの名無しさん
2020/01/29(水) 21:24:51.02ID:+kOHCQkf487デフォルトの名無しさん
2020/01/30(木) 22:29:51.66ID:uJZNpkau なんで対処方法お母さんに聞かなかったの?
自分で対応できると思ったの
自分で対応できると思ったの
488デフォルトの名無しさん
2020/01/31(金) 07:54:20.77ID:aEgzRTpo シェルスクリプトでaliasを使うことでしか実現できない挙動ってある?
コマンドを別に定義する方法って主に3通りくらいある
関数: somecmd() { ... }
別名: alias somecmd=...
変数 : somecmd=...
と思うんだけど、この内aliasに独特の特長ってあるのかな。
コマンドを別に定義する方法って主に3通りくらいある
関数: somecmd() { ... }
別名: alias somecmd=...
変数 : somecmd=...
と思うんだけど、この内aliasに独特の特長ってあるのかな。
489デフォルトの名無しさん
2020/01/31(金) 09:38:38.09ID:fxx+hpXO >>478
UTF-8は上位ビットを見れば文字の先頭か途中かまた何バイトなのか等がわかるので変換しなくても文字数はわかる(詳しくはWikipedia等を参照)。
そんな小技使って作られているかどうかはわからないが。
UTF-8は上位ビットを見れば文字の先頭か途中かまた何バイトなのか等がわかるので変換しなくても文字数はわかる(詳しくはWikipedia等を参照)。
そんな小技使って作られているかどうかはわからないが。
490デフォルトの名無しさん
2020/01/31(金) 10:37:58.90ID:XoEdclD3491デフォルトの名無しさん
2020/01/31(金) 10:41:13.70ID:XoEdclD3 alias IF=if
alias THEN=then
alias ENDIF=fi
IF [ a = a ]; THEN
echo aaa
ENDIF
alias THEN=then
alias ENDIF=fi
IF [ a = a ]; THEN
echo aaa
ENDIF
492デフォルトの名無しさん
2020/01/31(金) 11:40:54.85ID:aEgzRTpo >>490
一応変数使ってもいけね?
loop='while true; do'
eval "$loop echo aaa; sleep 0.1; done"
てかeval使えばなんでもありだから,
evalを使わずにって条件だと,挙げてくれた例みたいなことが
実現できるのかな。
一応変数使ってもいけね?
loop='while true; do'
eval "$loop echo aaa; sleep 0.1; done"
てかeval使えばなんでもありだから,
evalを使わずにって条件だと,挙げてくれた例みたいなことが
実現できるのかな。
493デフォルトの名無しさん
2020/01/31(金) 11:42:09.27ID:XoEdclD3 × 一応変数使ってもいけね?
○ eval使ってもいけね?
だろ
○ eval使ってもいけね?
だろ
494デフォルトの名無しさん
2020/01/31(金) 11:42:25.98ID:XoEdclD3 そして、evalを使わないと実現できない
495デフォルトの名無しさん
2020/01/31(金) 14:09:19.88ID:y3M2GGQ2496デフォルトの名無しさん
2020/01/31(金) 15:35:28.23ID:aEgzRTpo >>495
関数でもいけんじゃん
関数でもいけんじゃん
497デフォルトの名無しさん
2020/01/31(金) 19:02:07.40ID:drX8qvaW >>496
趣旨を理解してないなら黙ってて
趣旨を理解してないなら黙ってて
498デフォルトの名無しさん
2020/01/31(金) 19:33:30.56ID:dOfy+zuH shebangにさ、#!/bin/sh -eu って書いたらちゃんと動くのに、
#!/bin/sh -e -u って書いたら動かない
オプションは一つしか受け付けない?
これってどこに仕様ありますか?
#!/bin/sh -e -u って書いたら動かない
オプションは一つしか受け付けない?
これってどこに仕様ありますか?
499デフォルトの名無しさん
2020/01/31(金) 19:37:01.40ID:dOfy+zuH 一つしか受け付けないと言うか
#!/bin/sh -e -u
って書いたら
/bin/sh "-e -u"
って解釈されるのか
全体が一つの引数
#!/bin/sh -e -u
って書いたら
/bin/sh "-e -u"
って解釈されるのか
全体が一つの引数
500デフォルトの名無しさん
2020/01/31(金) 20:39:38.35ID:NEnVm4zd 実はshebangの決まった仕様はないからOS依存
501デフォルトの名無しさん
2020/01/31(金) 21:40:42.29ID:O7+QvGXX502デフォルトの名無しさん
2020/01/31(金) 21:53:14.63ID:ppIZAX+V503デフォルトの名無しさん
2020/01/31(金) 22:07:06.55ID:EhZkCGRB この前会見したマスごみが感染元で
504デフォルトの名無しさん
2020/01/31(金) 22:09:28.96ID:MHZeJgmL505デフォルトの名無しさん
2020/01/31(金) 22:17:23.02ID:NEnVm4zd >>501
a) 1つ目のスペースの前がコマンド名、その後はスペースも含めて1つの引数 (Linux等)
b) 1つ目のスペースの前がコマンド名、その後はスペース区切りの複数の引数 (昔のBSDやOSX等)
c) スペースも含めて全部コマンド名 (実在するか不明)
d) shebang非対応 (昔はあったがほぼ絶滅)
あとは、最大長とかにも注意
a) 1つ目のスペースの前がコマンド名、その後はスペースも含めて1つの引数 (Linux等)
b) 1つ目のスペースの前がコマンド名、その後はスペース区切りの複数の引数 (昔のBSDやOSX等)
c) スペースも含めて全部コマンド名 (実在するか不明)
d) shebang非対応 (昔はあったがほぼ絶滅)
あとは、最大長とかにも注意
506デフォルトの名無しさん
2020/01/31(金) 22:38:43.88ID:O7+QvGXX macは違うのかよ。相変わらず独自文化だな。
507デフォルトの名無しさん
2020/01/31(金) 23:54:24.78ID:9zbnwalP >>505
#!の次は本来スペースだって知ってた?
#!の次は本来スペースだって知ってた?
508デフォルトの名無しさん
2020/02/01(土) 00:09:21.13ID:4wtj5811509デフォルトの名無しさん
2020/02/01(土) 01:59:55.43ID:Kd/XXZch510デフォルトの名無しさん
2020/02/01(土) 02:50:01.41ID:SC0qANHR511デフォルトの名無しさん
2020/02/01(土) 18:54:16.89ID:izL/3CDz >>510
オライリーのシェルスクリプトの本には
一部のBSD系OSで#! の後にスペースが要るみたいなこと書いてあった。
でも、これは又聞きで全部試した訳じゃないけど
そんな挙動のBSD実装はなくて、
実はGNUプロジェクトのソースコードに誰かが勘違いして書き込んだコメントが元らしい。
オライリーのシェルスクリプトの本には
一部のBSD系OSで#! の後にスペースが要るみたいなこと書いてあった。
でも、これは又聞きで全部試した訳じゃないけど
そんな挙動のBSD実装はなくて、
実はGNUプロジェクトのソースコードに誰かが勘違いして書き込んだコメントが元らしい。
512デフォルトの名無しさん
2020/02/01(土) 19:00:18.82ID:S6J9WFvX513デフォルトの名無しさん
2020/02/01(土) 19:16:51.31ID:rbhAio8f >>512
ソースチラ見した限りでは元々は a) ぽい。# の後ろはコメントとして切り捨ててるみたいだが
FreeBSDをガシガシ取り入れた時にFreeBSDが b) だからに変えたぽいかな。その後FreeBSDが a) に変わったが追従せずな
ソースチラ見した限りでは元々は a) ぽい。# の後ろはコメントとして切り捨ててるみたいだが
FreeBSDをガシガシ取り入れた時にFreeBSDが b) だからに変えたぽいかな。その後FreeBSDが a) に変わったが追従せずな
514デフォルトの名無しさん
2020/02/01(土) 19:25:08.01ID:rbhAio8f515デフォルトの名無しさん
2020/02/01(土) 19:29:08.08ID:7bhnkH1k macOSでshebangにダブルクォートが入っていた場合どうなるんだろうなぁ
すぐそこにマシンあるから調べればわかるけどさw
すぐそこにマシンあるから調べればわかるけどさw
516デフォルトの名無しさん
2020/02/01(土) 19:56:33.67ID:rbhAio8f 一番古い10.0から公開されてる最新の10.4までで、そこでダブルクォート文字は現れない、'\n'、'#'、' '、'\t' ぐらいしか文字としてナニかを判断してない
単なる文字だね。そのまま引数としての単なる文字として
単なる文字だね。そのまま引数としての単なる文字として
517デフォルトの名無しさん
2020/02/01(土) 20:38:02.21ID:7bhnkH1k 日本語が不自由だぞw
518デフォルトの名無しさん
2020/02/01(土) 20:50:05.02ID:izL/3CDz shebangは悪い文化
519デフォルトの名無しさん
2020/02/01(土) 20:54:33.24ID:7bhnkH1k shebangよりも拡張子の方が良かったのかな?
520デフォルトの名無しさん
2020/02/01(土) 20:57:55.39ID:rbhAio8f なんか説明しようとしたんだがな
ダブルクォートが入っていても関係ないよ。なぜかは調べてね
ダブルクォートが入っていても関係ないよ。なぜかは調べてね
521デフォルトの名無しさん
2020/02/01(土) 20:59:45.01ID:rbhAio8f522デフォルトの名無しさん
2020/02/01(土) 21:13:13.94ID:izL/3CDz >>521
単なる表現だから気にしないでほしいけど
悪い←実装ごとに挙動がバラバラ・標準仕様が規定を諦めている
文化←にもかかわらずほとんどの実装がこれを取り入れていて、利用者もしょうがなく使っている
という状況を言ったつもりだった。
単なる表現だから気にしないでほしいけど
悪い←実装ごとに挙動がバラバラ・標準仕様が規定を諦めている
文化←にもかかわらずほとんどの実装がこれを取り入れていて、利用者もしょうがなく使っている
という状況を言ったつもりだった。
523デフォルトの名無しさん
2020/02/01(土) 21:19:14.91ID:rbhAio8f >>522
なるほど
まあ、誰も(大多数が)困ってないんじゃなのかな、統一されてなくても
もしくはそれぞれがそれぞれが良いと思って譲らないとかかwそれは確かに悪い文化だな
誰も困ってないって方だと思うけど
なるほど
まあ、誰も(大多数が)困ってないんじゃなのかな、統一されてなくても
もしくはそれぞれがそれぞれが良いと思って譲らないとかかwそれは確かに悪い文化だな
誰も困ってないって方だと思うけど
524デフォルトの名無しさん
2020/02/01(土) 21:48:34.75ID:7bhnkH1k shebangが悪い所の一つは絶対パス指定ってところなんだよね
content-typeみたいなのだったら良かったのに
shebangのオプションに関しては使わないっていうのが正解なんだと思う
なぜならファイルを直接指定して実行すると変わっちゃうから
content-typeみたいなのだったら良かったのに
shebangのオプションに関しては使わないっていうのが正解なんだと思う
なぜならファイルを直接指定して実行すると変わっちゃうから
525デフォルトの名無しさん
2020/02/02(日) 14:26:51.03ID:xQhhTPSe てかshebang使わなくてもシェルから起動したらそのまま動かない?
と思って、念の為Bashから起動したらまさかのaliasが効かなかった……。
こういうのを避ける為に#!/bin/shとせざる得ないのか。残念。
と思って、念の為Bashから起動したらまさかのaliasが効かなかった……。
こういうのを避ける為に#!/bin/shとせざる得ないのか。残念。
526デフォルトの名無しさん
2020/02/02(日) 16:53:40.51ID:XLs1Cb+c527デフォルトの名無しさん
2020/02/02(日) 17:45:00.84ID:Cva1xhgA528デフォルトの名無しさん
2020/02/03(月) 06:12:52.05ID:UlsnX0ii みんな
#!/bin/env python
じゃないの?
環境変数使ってくれるよ
#!/bin/env python
じゃないの?
環境変数使ってくれるよ
529デフォルトの名無しさん
2020/02/03(月) 08:04:03.85ID:24GdBe+7 envがあるところは/usr/bin/envな
あとそれ使うと
#!/usr/bin/env bash -e
とかできなくなるからな
Linuxで
あとそれ使うと
#!/usr/bin/env bash -e
とかできなくなるからな
Linuxで
530デフォルトの名無しさん
2020/02/03(月) 09:05:47.42ID:gnFHl5C0 >>529
/bin/envの環境と/usr/bin/envの環境がある
/bin/envの環境と/usr/bin/envの環境がある
531デフォルトの名無しさん
2020/02/03(月) 10:00:30.45ID:24GdBe+7 >>530
envってコマンドを使うと、環境の違いを吸収してくれるから便利だぞ
envってコマンドを使うと、環境の違いを吸収してくれるから便利だぞ
532デフォルトの名無しさん
2020/02/03(月) 11:22:27.68ID:8ufJ91gq >envがあるところは/usr/bin/env
に対しての
/bin/envにある環境もあるって話だろ。「それってなに?」だろ言うなら
に対しての
/bin/envにある環境もあるって話だろ。「それってなに?」だろ言うなら
533デフォルトの名無しさん
2020/02/03(月) 11:28:54.24ID:sGoeeXwW >>531
そのenvコマンドとやらのパスが環境ごとに違うんだよなぁ…。
そのenvコマンドとやらのパスが環境ごとに違うんだよなぁ…。
534デフォルトの名無しさん
2020/02/03(月) 11:40:34.98ID:8ufJ91gq KCディフェンス覚醒したか?するか?
535デフォルトの名無しさん
2020/02/03(月) 11:41:11.41ID:8ufJ91gq やったな、KCディフェンスっ
536デフォルトの名無しさん
2020/02/03(月) 11:41:39.96ID:YoBHNt10 Mac の香具師は、env をよく使う
537デフォルトの名無しさん
2020/02/03(月) 11:41:40.96ID:8ufJ91gq すまん、誤爆もいいとこ。ちょっと興奮してたw
538デフォルトの名無しさん
2020/02/03(月) 11:57:54.57ID:MUEM5Vrv env env env ...
539デフォルトの名無しさん
2020/02/03(月) 12:09:00.93ID:sGoeeXwW なんかこの前々スレあたりで標準出力と標準エラー出力に別々の処理を施した上で
どちらも標準出力に流す方法を見た覚えがあるんだけど
今それっぽい語句で検索しても引っ掛からない。
覚えてる人いない?
どちらも標準出力に流す方法を見た覚えがあるんだけど
今それっぽい語句で検索しても引っ掛からない。
覚えてる人いない?
540デフォルトの名無しさん
2020/02/03(月) 12:58:07.85ID:24GdBe+7541417
2020/02/04(火) 21:40:22.30ID:M0ahQJ78 >>446
ありがとうございます。
コードを参考にさせていただいて、
sed -e 's/\("[^"]*"\)*,\("[^"]*"\)*/\1 \2/g'
という手法にしました。
今のところ
<<. cat |
aa,"dd,dd","aa,bb",cc,"ab c"
.
sed -e 's/\("[^"]*"\)*,\("[^"]*"\)*/\1 \2/g'
がうまいこといくので満足してます。
どうもお手数おかけしました。
ありがとうございます。
コードを参考にさせていただいて、
sed -e 's/\("[^"]*"\)*,\("[^"]*"\)*/\1 \2/g'
という手法にしました。
今のところ
<<. cat |
aa,"dd,dd","aa,bb",cc,"ab c"
.
sed -e 's/\("[^"]*"\)*,\("[^"]*"\)*/\1 \2/g'
がうまいこといくので満足してます。
どうもお手数おかけしました。
542デフォルトの名無しさん
2020/02/04(火) 22:00:02.89ID:zwthX76y case $value in
ここ)
esac
ここって何ていうの?globじゃないよね?
ここ)
esac
ここって何ていうの?globじゃないよね?
543デフォルトの名無しさん
2020/02/04(火) 22:01:37.15ID:/eeo/zhy bash(1) だと pattern って書いてある
544デフォルトの名無しさん
2020/02/04(火) 22:11:53.72ID:zwthX76y パターンかぁ。汎用的すぎるなぁ。
545デフォルトの名無しさん
2020/02/05(水) 07:03:40.14ID:TkSDhbEE (unofficial) Bash Strict Modeって知ってる?
http://redsymbol.net/articles/unofficial-bash-strict-mode/
これが何って話があるわけじゃないんだけど有名なのかな?と思って
外国だとそれなりに情報出てくるけど日本はあまり見つからない
名前が知られてないだけでsetで-eu -o pipefailしましょうというのは聞くけどね
ただIFS=$'\n\t'は知らなかったな。これやったほうがいいんかな?
スペースが削られてるから問題起きそうだけど
http://redsymbol.net/articles/unofficial-bash-strict-mode/
これが何って話があるわけじゃないんだけど有名なのかな?と思って
外国だとそれなりに情報出てくるけど日本はあまり見つからない
名前が知られてないだけでsetで-eu -o pipefailしましょうというのは聞くけどね
ただIFS=$'\n\t'は知らなかったな。これやったほうがいいんかな?
スペースが削られてるから問題起きそうだけど
546デフォルトの名無しさん
2020/02/05(水) 08:00:23.89ID:ER23be8Q547デフォルトの名無しさん
2020/02/05(水) 08:25:41.70ID:TkSDhbEE >>546
それは変数使ってるわけじゃないから問題なく動くよ
それは変数使ってるわけじゃないから問題なく動くよ
548デフォルトの名無しさん
2020/02/07(金) 21:49:29.34ID:fFz2F73L https://github.com/bashup/mdsh
↑おもしろい。シェルも使える文芸的プログラミング
↑おもしろい。シェルも使える文芸的プログラミング
549デフォルトの名無しさん
2020/02/07(金) 22:25:08.40ID:LLO+pCZY めんどくさいので3行にまとめてくれ
550デフォルトの名無しさん
2020/02/07(金) 22:46:56.58ID:LLO+pCZY なるほど。文芸的プログラミングという
ドキュメントを書くときにコードを埋め込んで
(動作確認のために?)実行できるようにするための
マークアップ言語みたいなものがあるんだな
コードの中にコメントを埋め込むのとは逆の発想か
ドキュメントを書くときにコードを埋め込んで
(動作確認のために?)実行できるようにするための
マークアップ言語みたいなものがあるんだな
コードの中にコメントを埋め込むのとは逆の発想か
551デフォルトの名無しさん
2020/02/07(金) 22:58:24.38ID:YkBBCjCg bashのsourceって英語としては意味なんだろう?
includeとかimportだったら読み込むってわかるけど、
なんでsourceって単語にしたんだろうか
includeとかimportだったら読み込むってわかるけど、
なんでsourceって単語にしたんだろうか
552デフォルトの名無しさん
2020/02/08(土) 00:06:22.51ID:Ld8bPHII なんのことかと思ったらMarkdown文書をソースとするshellがありますぞというだけかという感じ
553デフォルトの名無しさん
2020/02/08(土) 08:03:47.73ID:EnngxFza なんでそんなに偉そうなんだよw
554デフォルトの名無しさん
2020/02/08(土) 12:05:42.11ID:vyHTTWz1555デフォルトの名無しさん
2020/02/08(土) 14:06:09.11ID:EnngxFza 今から考えるとimportコマンドとかの方がいいね。
556デフォルトの名無しさん
2020/02/08(土) 14:51:42.04ID:0wE1WgKD importは他のファイル等で定義済みの関数やクラスを今の名前空間に持ってくるイメージ
sourceは他のファイルに書いてるコードを実行するイメージ
言語によってはやってること同じだったりするけど主たる目的が違う気がする
sourceは他のファイルに書いてるコードを実行するイメージ
言語によってはやってること同じだったりするけど主たる目的が違う気がする
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】UEFA-CL第5節 アーセナル×バイエルン、PSG×トッテナム、リバプール×PSV、オリンピアコス×レアル [久太郎★]
- 【金沢地裁】「風俗嬢に着せようと」南砺の高校で女子バレー部のユニホームを窃盗した男が説明 検察側、拘禁刑4年を求刑 [nita★]
- 【国際法を無視】日本での「中華人民共和国に台湾問題を論じる資格なし」との声に 中国外交部が厳しく反論… ★2 [BFU★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★6 [Ailuropoda melanoleuca★]
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★3 [ごまカンパチ★]
- 「脅迫だ」国分太一に同情論 音声データ削除要求など日テレの対応を疑問視する声ネットに噴出「それこそコンプラ違反では」★3 [muffin★]
- 【高市悲報】中国「ふにゃふにゃ言いながら、時が自然に解決するのを期待する—そんなジャップ流は決して通用しない」 [115996789]
- 【悲報】亀田和毅「世界基準の判定では115-113で那須川天心の勝ち。ジャップの糞採点で井上勝利にされた」 [802034645]
- 【悲報】ゼレンスキー大統領、和平案に大筋合意 ホンコンみたいなウヨ芸人を大統領にするとこうなる [455031798]
- 【動画】平口法務大臣「買春は買う側の男性の尊厳も汚される行為だ」俺たちは買わされ汚された。全ての風俗店を男性保護のため廃止へ [485187932]
- 【未来の日本】ゼレンスキー大統領、和平案に大筋合意
- ソフトバンクグループの個人向け社債、発行額迫る10兆円。国内市場の4割占有、80万人超が保有 [256556981]
