- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- シェルスクリプト/sedコマンド へ行く。
sedコマンド
置換
複数置換する
sed -e 's/H/h/g' -e 's/O/o/g' 1.txt
hELLo WoRLD
eオプションを重ねる。または、
sed -e 's/H/h/g; s/O/o/g' 1.txt
「;」でつなぐ。
後方参照
対象を「\(\)」でくるみ、「\1」で参照する。
echo abc | sed 's/a\(.\)c/\1/'
=> b
マッチした文字列を挿入する
「&」を使う。
echo abc | sed 's/a/&XYZ/'
=> aXYZbc
echo abc | sed 's/.*/&XYZ/'
=> abcXYZ
行末に文字列を挿入する
sed -e 's/$/ END/' 1.txt
HELLO END WORLD END
マッチした行の間にある全ての行に対して置換する
sed '/TWO/,/FOUR/s/^/#/' 1.txt
ONE #TWO #THREE #FOUR FIVE
「TWO」から「FOUR」までの行に対してs/^/#/を実行する。
ファイルの先頭行に文字列を挿入する
sed '1s/^/abc\n/' 1.txt
検索・抽出
マッチした行だけを表示する
sed -n '/abc/p' 1.txt
sedコマンドは-nオプションを付けないとファイルの全内容を表示する。ので、↑の場合、nオプション無しだと二重に表示される。ので、nオプションを付ける。
マッチした行を除外する
sed '/abc/d' 1.txt
指定した行番号の行を除外する
cat 1.txt
=> 01 02 03 04
sed '2,3d' 1.txt
=> 01 04
sed '2,$d' 1.txt
=> 01