[過去ログ] 初心者の質問相談にやさしく答えるスレ Part13 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
220: 2020/09/22(火)16:52 ID:6eqRg9Ey(1/3) AAS
自分ならスクリプト書いてwhile readしちゃうけどなあ
221(1): 2020/09/22(火)16:57 ID:6eqRg9Ey(2/3) AAS
ちなみにスクリプト書くのがえらいとは思ってない
仕事でシェル書ける?って聞かれたことあるけど当然あると答えるんだけど
パイプを使った簡単な方法を思いつかないとメンテが大変なスクリプトを残すことになる
まあ1行で書かれた難解なコマンドを解読するのも面倒なんだけどw
222: 2020/09/22(火)17:03 ID:6eqRg9Ey(3/3) AAS
>>218
自分が使ったわけではないけどsedsedつーのがあるらしい
自分は処理を想定して置換パターン考えるけど
思ってるように置換されないことはよくあって超テストしまくる
今はシェルスクリプト書くこと少ないんだけど
あーこれ過去に悩んだわってのは結構多く解決したあとに思い出す
223: 2020/09/22(火)19:23 ID:fv1Daqer(1) AAS
>>221
ワンライナーの方が保守性が低いだろうに
224: 2020/09/22(火)22:32 ID:3m3ag9H4(1) AAS
やっていることが複雑なプログラムは
結局何で書いても保守性は上がらない
225: 2020/09/23(水)01:48 ID:a9ugNS1V(1) AAS
可読性なら、Ruby
226(1): 2020/09/23(水)10:10 ID:Rsl28+Yj(1) AAS
パイソンかシーシャープでいいよ
227: 2020/09/23(水)12:05 ID:n3ZO4tu1(1) AAS
>>226
シャープは台湾資本のメーカーだから安心だな
228: 2020/09/23(水)13:59 ID:qG2KcxsT(1) AAS
久々に滑り倒してるギャグというものを見た
229: 2020/09/23(水)22:41 ID:JIsijUQE(1) AAS
ギャグだったの?
230(1): 2020/09/25(金)00:28 ID:RsERggiG(1/2) AAS
VARが複数行の場合はどうすれば?
$ VAR=`seq 1`; seq 2 | sed "s/$VAR/@&/"
@1
2
$ VAR=`seq 2`; seq 3 | sed "s/$VAR/@&/"
sed: -e expression #1, char 3: `s' コマンドが終了していません
231: 2020/09/25(金)08:53 ID:0C7N0fKH(1/2) AAS
VAR=`seq 2`; seq 3 | perl -0777 -pe "s/($VAR)/\@\$1/"
sed でやるなら sed の文法に合わせる必要がある。
すなわち、改行をエスケープシーケンスに置き換える。
それをした上でも sed でやるには N や t を使う必要があるだろう。
そして多分、本当にやりたいことはそれではないだろう。
なにをしたいのか正直に書いたほうがいいと思う。
232(1): 2020/09/25(金)09:45 ID:RsERggiG(2/2) AAS
URLのメモがあって特定のURLの行頭に#を入れたいだけなんだ
実際のVARには対象行の文字列が入ってる
sed '
/aaa/s/^/#/
/bbb/s/^/#/
' foo.txt
これを大量に書かずに済む方法はないかってこと
233(1): 2020/09/25(金)10:01 ID:rcXzyqi8(1/2) AAS
hoge = PARAM1:VALUE1-0:VALUE1-1;VALUE1-2
こういうあたいを、最初の:区切り文字にするっていう方法ありますか?
具体的には、
hoge = PARAM1 と VALUE1-0:VALUE1-1;VALUE1-2
に分けるのが望みです。
関係あるかわかりませんが、実際には区切り文字の:は半角です、
半角コロンは視認性がすんごい悪かったので、視認性のため全角にしております。
よろしくお願いいたします。
234(1): 2020/09/25(金)10:56 ID:Zcjfxf/5(1/2) AAS
>>232
改行されたURLのみのリストならこれで大丈夫なはず
xargs -I{} sed '/{}/s/^/#/' < url_list.txt
235(1): 2020/09/25(金)12:35 ID:jeHM1ZGk(1) AAS
>>233
cut -d ':' -f 1 と
cut -d ':' -f 2- でできるよ
236: 2020/09/25(金)12:47 ID:rcXzyqi8(2/2) AAS
>>235
ありがとうございます。
N番目から最後までってのがあるんですね。
勉強になりました。
237: 2020/09/25(金)15:17 ID:Zcjfxf/5(2/2) AAS
>>234
これじゃ動かんわ
こっち
sed 's|/|\\\\/|g' url_pattern_list |xargs -I{} sed '/{}/s/^/#/' url_list
238(2): 2020/09/25(金)21:27 ID:0C7N0fKH(2/2) AAS
URL には . も含まれてると思うのだが、エスケープしなくていいのだろうか。
行全体のマッチじゃなくていいのだろうか。
パターンの数だけ sed を起動するよりもスクリプトファイルを作って
それを実行する方が効率的でデバッグもしやすいのではなかろうか。
当人が判断すればいいことだが、ちょっと気になった。
239: 2020/09/25(金)21:50 ID:3o+e4nzm(1) AAS
>>238
>>230の条件が
複数のマークする対象が変数に入っている、絶対にsedは使う、1ライナー
なんだよ。
Linuxユーザーは超こだわりを持つ奴がおおいからな
(なんで、そんなにこだわる? 基地外かよな奴が多いからな)
上下前次1-新書関写板覧索設栞歴
あと 763 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s