#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