next up previous
: この文書について... : ワイルドカードとコマンド : find コマンド

sed コマンド

sed コマンドは,文書整形コマンド(text formatter)または, ストリームエディタ(stream editor) といい,テキストファイルを読み込んで その内容を編集する機能がある. 基本的には,文字列検索コマンド grep を拡張して作られたコマンド で以下のような形式で使う.
\begin{itembox}[l]{{\tt sed} コマンド}
\begin{alltt}
\relax{} sed '編集コマンド' 入力ファイル名 > 出力ファイル名
\\ \relax \end{alltt}\end{itembox}
sed コマンドだけではファイルを整形し,表示(標準出力に出力) する のみであるので,リダイレクションにより,結果を出力するファイルを指定する. 編集コマンドは例えば,以下のように指定する.
オプション 編集コマンド 機能
なし s/taro/hanako/g ファイル中の tarohanako に変更する.
なし /test/d test を含む行を削除する.
-n /^d/p 先頭に d がついた行のみ表示する.
編集コマンドには, ed というエディタのコマンドを書き, 正規表現を駆使してファイルを編集する. 正規表現については説明しないので,上のコマンドについてのみ理解すればよい.


\begin{itembox}[l]{文字列を置き換える}
\begin{alltt}
\relax{} prompt% \underline...
...w-rw-r-- 1 taro taro 36 May 20 00:59 test.txt
\\ \relax \end{alltt}\end{itembox}
ls コマンドからパイプで受渡された情報の中で, 文字列 yastaro に置き換えている.


\begin{itembox}[l]{行を削除する}
\begin{alltt}
\relax{} prompt% \underline{ls -l...
...-rw-rw-r-- 1 yas yas 36 May 20 00:59 test.txt
\\ \relax \end{alltt}\end{itembox}
ls コマンドからパイプで受渡された情報の中で, 文字 / を最後に含む行を削除する. つまり,「ファイル」のみを表示する.


\begin{itembox}[l]{指定した行のみ表示}
\begin{alltt}
\relax{} prompt% \underline...
...wxrwxr-x 7 yas yas 1024 May 18 22:32 seminar/
\\ \relax \end{alltt}\end{itembox}
ls コマンドからパイプで受渡された情報の中で, 先頭に d がある行のみを表示する. つまり,「ディレクトリ」のみを表示する.


Yasushi KODAMA 平成12年6月4日