概要†sedでできることをまとめていきます。 括弧内の文字を抽出する†$ 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アドレスのみを抽出するようにできる。 複数条件を指定する†-e を並べる ※この例だと -r で正規表現を使用しているので -re で指定しつつ、-eで繋げている。 $ cat /var/log/maillog | sed -re 's/^.*(\[.*\]).*$/\1/' -e 's/(\[|\])//g' ファイルの先頭/末尾に文字列を挿入する†先頭†$ sed -i '1i hoge' test.txt hoge XXX 末尾†$ sed -i '$a hoge' test.txt XXX hoge
|