sedコマンドまとめ
動機
久しぶりにsed
コマンドを使おうとしたのですが、忘れてました。
復習のため、info
コマンドで調べた内容を適当にまとめておきます。
sedとは
まずsedとはなんでしょうか?
info
コマンドによると
'sed' is a stream editor.
A stream editor is used to perform basic text transformations on a input stream(a file or input from a pipeline).
とのことです。 つまり簡単に言うと、テキスト処理(特定の行を削除、置換など)ができるコマンドです。
使い方
info
コマンドをみると、下記のように記されています。
sed SCRIPT INPUTFILE
SCRIPTについては、下段を参照してください。
使いそうなオプション
-i
オプション
sed
はデフォルトだと、実行結果を標準出力に表示します。
実行結果をファイルに保存したい場合、- i
を使用することができます。
-n
オプション
sedはデフォルトでは、指定された入力をどのように処理したかを表示します。
-n
オプションを使用すれば、表示されません。
-f
オプション
ファイルから実行するコマンドを読み込む場合に使います。
--follow-symlinks
オプション
-i
オプションのみを使用した場合、symbolic linkの参照先ファイルを更新できません。
--follow-symlinks
オプションを使用すれば、symbolic linkの参照先ファイルを更新できます。
-e
オプション
実行するコマンドを追加します。
SCRIPT
sedのSCRIPT(s/hogehoge/foo/gとか)とは、下記の形式で表せるもののことです。
[addr]X[options]
[addr]
は、オプションの行アドレス、X
はsedコマンドを表します。
例えば下記だと、
sed '30, 35d'
30, d5が[addr]
であり、dがsedコマンドです。
よく使いそうなsedコマンド
コマンド | 内容 |
---|---|
d | 文字を削除します。 |
s/REGEXP/REPLACEMENT/[FLAGS] | 指定した正規表現に一致する文字列を置換します。 |
y/src/dst/ | srcで指定したいずれかの文字を、dstで対応する文字に変換します。 |
後書き
ざっとですが、sed
コマンドを紹介しました。
info sed
で書かれている内容はもっとありますが、あまりの量に心が折れたので、今回はここまでとしておきます。