【LPIC1】テキストの置換・削除・抽出等(sed)

LPIC1

1.sedとは

標準入力やファイルから読み込んだテキストの置換・削除・抽出等を行うストリームエディタ。
オプションのほかにテキストの編集をするための「編集コマンド」が存在する。

2.使い方

(1)書式

sed [オプション] 編集コマンド [ファイル名]
例)sed s/old/new/ file.txt
→編集コマンド「s」によりfile.txtの文字列「old」を「new」へ置き換えている。

(2)編集コマンド

①s

検索文字列を置換文字列に置き換える。
「s」でコマンド選択し、「/」で区切り、検索文字列と置換文字列を入力。※パスではない。
【使用パターン】
・s/old/new/
→各行の最初に見つかったoldをnewに置き換える。
・s/old/new/g
→各行のすべてのoldをnewに置き換える。
1,10s/old/new/
→1行目から10行目までを置換の範囲とする。

②d

指定した行の削除。
【使用パターン】
・1d
→1行目の削除。
1,10d
→1行目から10行目までの削除。
/検索文字列/d
→検索文字列のある行を削除。

③y

指定した文字列に一致する文字列を1文字ずつ置き換える。正規表現は使えない。※編集コマンド「s」は文字列単位での置換。
【使用パターン】
・y/ab/AB
→aをAに、bをBに置き換え。

(3)オプション

①-e [編集コマンド]

複数の編集コマンドを実行する。
例)sed -e 1,10d s/old/new/ file.txt
→1~10行目を削除してから、oldをnewに置き換えている。

②-f ファイル名

編集コマンドを記載したファイルを読み込んで編集コマンドを実行。

③-i

sedで編集したファイルを上書きする。※通常は標準出力だけ。

タイトルとURLをコピーしました