#author(“2018-08-10T02:01:50+00:00”,“default:kazuma”,“kazuma”) Linuxコマンド
概要 [#d1292312]
sedでできることをまとめていきます。
括弧内の文字を抽出する [#aee5c2f7]
$ sudo cat /var/log/maillog | sed -r 's/^.*(\[.*\]).*$/\1/'
[192.168.100.100]
[192.168.100.101]
[192.168.100.102]
() 内の文字列を \1 に代入して表示する。
※この例だと ***[192.168.100.100]: *** みたいなログがあった場合に、IPアドレスのみを抽出するようにできる。
複数条件を指定する [#b3d269d6]
-e を並べる ※この例だと -r で正規表現を使用しているので -re で指定しつつ、-eで繋げている。
$ cat /var/log/maillog | sed -re 's/^.*(\[.*\]).*$/\1/' -e 's/(\[|\])//g'
ファイルの先頭/末尾に文字列を挿入する [#la378e4e]
先頭 [#nd505909]
$ sed -i '1i hoge' test.txt
hoge
XXX
末尾 [#rc15c2a5]
$ sed -i '$a hoge' test.txt
XXX
hoge