与えられた文字列の置換えをしてくれるコマンドです。ちなみに、sed
は Stream EDitor
の略とのことだそうです。
🚕 利用例
置換対象の文字列を表示
sed -n 's/AAA/BBB/p' ファイル名
|
置換対象で大文字・小文字を無視
文字列の置き換え
-e スクリプト
は複数書けます。
下は、すべての AAA
=> BBB
, CCC
=> DDD
に置換えた結果を出力する場合です。
sed -e 's/AAA/BBB/g' -e 's/CCC/DDD/g' ファイル名
|
置換えた結果でファイルを上書き
-i
でファイルの上書きを行います。
sed -i -e 's/AAA/BBB/g' ファイル名
|
行の削除
d
を条件の最後につけると削除になります。
sed -e '1d' file sed -e '1,4d' file
|
80文字ずつ改行する
sed 's/.\{80\}/&\n/g' ファイル名
|
🏈 よく利用するオプション
オプション |
意味 |
-eスクリプト |
指定したスクリプトで変換を行い、結果を出力 |
-pスクリプト |
指定したスクリプトで変換された行だけを出力 |
🐯 応用例
特定の文字列が含まれる行番号を返す
ある特定の文字列が含まれる行番号を返すコマンド。grep
との組み合わせです。
grep -e AAA -n querylog.txt | sed -e 's/:.*//g'
|
ファイルの先頭の空行を除去
ファイルの先頭の空の行の削除するのは次のコマンドです。
find . -type f -name '*.rb' -print0 | xargs -0 -n 1 sed -i '' '/./,$!d'
|
🎉 参考リンク
🖥 VULTRおすすめ
「VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。
最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!