sedコマンドの基本を知っておく
基本系
- eオプションにコマンドを渡して使う
コマンドにはs(置換), d(行削除), p(行抽出)などがある。
cat input.txt | sed -e 'コマンド' # もしくは sed -e 'コマンド' input.txt
使用例
# 正規表現で文字列の置換を行う cat input.txt | sed -e 's/xxx/XXX/g' # 指定行を削除する cat input.txt | sed -e '1,10d' # 指定行だけ出力する # ※nコマンドはpで指定した行だけを抽出するオプション cat input.txt |sed -n -e '1,10p' # 正規表現でマッチする行を削除 cat input.txt | sed '/hoge/d' # 正規表現でマッチする行だけ出力 cat input.txt | sed -n -e '/hoge/p' # 10行目から20行目を全置換 # ※sコマンドの前に数字を置くと、その行のみが対象となる。 $ sed 3,5s/abc/ABC/g # ファイルを置換する # -i, --in-place オプションを使う sed -i -e 's/before/after/g' target.txt
こんな便利なことも
# 後方参照 echo 090-1111-2222 | sed 's/\(...\)-\(....\)-\(....\)/\1\2\3/' # => 09011112222
こちらのサイトにて勉強させていただきました。
https://hydrocul.github.io/wiki/commands/sed.html