連載
» 2016年10月06日 05時00分 公開

Linux基本コマンドTips(53):【 sed 】コマンド(基礎編)――テキストファイルを編集する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「sed」コマンドの基礎編です。

[西村めぐみ,@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、テキストファイルをフィルター処理で編集する「sed」コマンドの基礎を解説します。

sedコマンドとは?

 「sed」は「Stream EDitor」の略で、「sed スクリプトコマンド ファイル名」で、指定したファイルをコマンドに従って処理し、標準出力へ出力します。ファイル名を省略した場合は、標準入力からのデータを処理します。sedコマンドでは、パイプとリダイレクトを活用するのが一般的です。


sedコマンドの書式

sed [オプション]

sed [オプション] スクリプトコマンド 入力ファイル

※[ ]は省略可能な引数を示しています




sedコマンドの主なオプション

 sedコマンドの主なオプションは次の通りです。

短いオプション 長いオプション 意味
-r --regexp-extended スクリプトで拡張正規表現を使用する
-e スクリプト --expression=スクリプト スクリプト(コマンド)を追加する
-f スクリプトファイル --file=スクリプトファイル 実行するコマンドとしてスクリプトファイルの内容を追加する
-i --in-place ファイルを直接編集する
-i拡張子 --in-place=拡張子 ファイルを直接編集し、指定した拡張子でバックアップする(※「-i」と「拡張子」の間には空白を入れない)
--follow-symlinks -iで処理する際にシンボリックリンクをたどる
-n --quiet,--silent 出力コマンド以外の出力を行わない(デフォルトでは処理しなかった行はそのまま出力される)
-l 文字数 --line-length=文字数 lコマンドの出力行を折り返す長さを指定する(※「-l」と「文字数」の間には空白を入れる)
-s --separate 複数の入力ファイルを一続きのストリームとして扱わずに個別のファイルとして扱う
-u --unbuffered 入力ファイルからデータをごく少量ずつ取り込み、頻繁に出力バッファを掃き出す
-z --null-data NUL文字で行を分割する(通常は改行で分割)
--posix 全てのGNU拡張を無効にする


文字列を置き換える

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。