シェルスクリプト総合 その22
■ このスレッドは過去ログ倉庫に格納されています
0403名無しさん@お腹いっぱい。
2014/03/01(土) 21:37:01.64変数strを使う場合はどうですか?
sed '/hoge/a $str' -i file だとstrの中身が返らないし
sed "/hoge/a $str" -i file だとエラーになるんですよね。
結局strの中身の特殊文字をうまくエスケープしておかないと駄目みたいで、面倒だなぁと前から思ってまして。
別にsedに拘っているわけではないです。とりあえず今はこんなふうにして凌いでいます。
cat > file2 <(sed -n "1,/hoge/ p" file) <(cat << EOF
文字列1
文字列2
・・・
文字列n
EOF
) <( sed -n "/hoge/,$ p" file | tail -n +2 ) ; mv file2 file
いまいちカッコ悪くて気に入りません。
それに file が巨大な場合は2回sedをかますのは非効率的だろうし。。。
この手の挿入処理はよくあるテクだと思うので、他にもっと良い方法があるんだろうと思ってたのですが。
■ このスレッドは過去ログ倉庫に格納されています