ラベル sed の投稿を表示しています。 すべての投稿を表示
ラベル sed の投稿を表示しています。 すべての投稿を表示

2013-01-07

sedで&(アンパサンド)に置換する

sedコマンドで&に置換しようとすると、&はヒットした文字列を意味してしまうので意図する通りに置換されてくれません
$ hoge="a&b"
$ echo "xyz" | sed "s/y/$hoge/"
xaybz
な感じ。 なので、bashに組み込まれている置換コマンドを併用してやるとうまくいきました
$ echo "xyz" | sed "s/y/${hoge/&/\&}/"
xa&bz
ほらねヾ(*・ω・)シ

2011-07-06

ファイルの内容を置換するsedコマンドTips

■直接置換
sed -i 's/from/to/' target_file.txt

■後方参照
sed -i 's/\(from\)/\1/' target_file.txt