#author("2018-01-15T02:27:48+00:00","default:kazuma","kazuma")
#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アドレスのみを抽出するようにできる。
 () 内の文字列を \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

 

~
~


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS