- 追加された行はこの色です。
- 削除された行はこの色です。
置換えなどに効果を発揮するsedコマンドまとめ
*応用テクニック [#f930159c]
-バックアップを取りつつ元のファイルを置換
sed -i.bak -e 's/置換前/置換後/g' 対象ファイル名
-/が含まれる文字列を置換したいなら以下のように別の文字を/の代わりに使えばOK
sed -i.bak -e 's#置換前#置換後#g' 対象ファイル名
-複数の置換パターン
sed -e '/置換前1/置換後1/g' -e '/置換前1/置換後2/g' 対象ファイル名
-sedファイルを外部から読み込んで実施
sed -f スクリプト.sed 入力.txt > 出力.txt
-改行コードを置き換えない(つけないとCRLFがLFにされてしまう)
sed -b
-行の先頭に文字を加える
sed s/^/ADD/g 対象ファイル名
-行末に文字を加える。
sed s/$/\!/g 対象ファイル名
-特定の文字を含む行を除外(含む行のみにしたいなら!sをsにする)
'/特定の文字/!s/置換前キーワード/置換後キーワード/g'
-特定の文字を含む行を除外(複数パターン)
'/\(特定の文字1\|特定の文字2\)/!s/置換前キーワード/置換後キーワード/g'
*ファイルリストを渡して処理する。 [#h17d3459]
cat filelist.txt | xargs sed -e 's/hoge/fuga/g'
*Podcast Addictの管理番号除去 [#n63f97c5]
echo "23_EC433.mp3" | sed -e 's/[0-9]._//g'
*MACのSED [#g790d0aa]
OSでの差分があるのは書き換えの-i.bkオプションのところをMACだと-i '.bk'とする必要がある。また直接書き換えだと-i ''とする必要がある