- 追加された行はこの色です。
- 削除された行はこの色です。
* sed 置換 [#h14d691f]
* sed [#h14d691f]
** 複数置換する [#a591b17e]
cat 1.txt
=> 01
02
03
04
sed -e 's/1/A/g' -e 's/0/X/g' 1.txt
=> XA
X2
X3
X4
eオプションを重ねる。
** 後方参照 [#i62e111e]
対象を「\(\)」でくるみ、「\1」で参照する。
echo abc | sed 's/a\(.\)c/\1/'
=> b
** マッチした文字列を挿入する [#tecf4838]
「&」を使う。
echo abc | sed 's/a/&XYZ/'
=> aXYZbc
echo abc | sed 's/.*/&XYZ/'
=> abcXYZ
** 行末に文字列を挿入する [#r8106718]
cat 1.txt
=> 01
02
03
04
sed -e 's/$/ END/' 1.txt
=> 01 END
02 END
03 END
04 END
** マッチした行だけを表示する [#f3491518]
sed -n '/abc/p' 1.txt
sedコマンドは-nオプションを付けないとファイルの全内容を表示する。ので、↑の場合、nオプション無だと二重に表示される。ので、nオプションを付ける。
** マッチした行を除外する [#a1f0b6df]
sed '/abc/d' 1.txt
** 指定した行番号の行を除外する [#w428403a]
cat 1.txt
=> 01
02
03
04
sed '2,3d' 1.txt
=> 01
04
sed '2,$d' 1.txt
=> 01
** 参考になるサイト [#m9469f53]
- http://www.grymoire.com/Unix/Sed.html
- http://www.tldp.org/LDP/Bash-Beginners-Guide/html/sect_05_02.html#sect_05_02_01