Linuxコマンド

概要

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




トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-06-30 (木) 01:40:11