コマンド | 説明 |
---|---|
sed | Stream EDitor の略で、定型的なテキストデータの処理を行うプログラム |
複雑な置換処理でよく使います |
% echo abc def ghi | sed 's/def/&DEF/' abc defDEF ghi
% echo abc def abc ghi | sed 's/abc/ABC/g' ABC def ABC ghi`g'オプションを使用しない場合
echo abc def abc ghi | sed 's/abc/ABC/' ABC def abc ghi
2回目に出現する「abc」は置換されない
% echo abc def abc ghi abc | sed 's/abc/ABC/2' abc def ABC ghi abc2回目に出現する「abc」のみ置換される
% echo abc def ghi jkl | sed -e 's/abc/ABC/' -e 's/ghi/GHI/' ABC def GHI jkl
% less regex.sed s/abc/ABC/ s/def/DEF/ s/ghi/GHI/ s/jkl/JKL/ % echo abc def ghi jkl | sed -f regex.sed ABC DEF GHI JKL
% echo 'A12345 6789Z' | sed 's/^A\([0-9]\+ [0-9]\+\)Z$/\1/' 12345 6789グルーピングの括弧を増やせば、\2,\3,\4…と対応していく
% echo '123?456?789' | sed 's/\(?[^?]*$\)//' 123?456上記の正規表現は、最後に見つかった「?」以降を削除する
ls | xargs sed -i.bak -e 's/\&/\&/g' -e 's/\</</g' -e 's/\>/>/g' -e 's/\"/"/g'