Home New Help Edit

sed覚え書き

Suns & Moon Laboratory

Windowsで使う場合は、文字コードではまる時があるので、最初は英語のみでやるのが良いと思います。というか、はまりました。

行削除

sed -e /pattern/d filename
1〜14行を削除
sed -e "1,14d" input.tmp > output.tmp

行抽出

pと-nを付けるのがポイント

sed -n -e /pattern/p flename

置換コマンド

sed s/{find}/{replace}/ filename.txt
例えば

0.txt
hello world red blue green yellow
この時
sed s/blue/purple/ 0.txt
この結果'blue'が'purple'に置換される。
hello world red purple green yellow

空白を削除

sed -e s/\s//g input.tmp > output.tmp

置換コマンド注意点


例えばこんなファイル
0.txt
red red red
この時
sed s/red/R/ 0.txt
出力はこうなる。
R red red
全て置換する場合最後にgを付ける。
sed s/red/R/g 0.txt
この出力はこうなる。
R R R

マッチした単語を使う

s/\(^EFGI.*\)/ABCD\1/
ソース
EFG EFGI EFGIH
置換後
EFG ABCDEFGI ABCDEFGIH

ファイルで指定


0.txt
hello world red blue green yellow
ex.sedを改行コードLFのみで保存。
s/blue/purple s/yellow/cyan/
この時
sed -f ex.sed 0.txt
この結果
hello world red purple green cyan

参考

【 sed 】 文字列の置換,行の削除を行う
gnuwin32のsedコマンド使用時に半角記号や文字コードで気をつけること
GNU sed をWindowsで使う

バイナリ

https://sourceforge.net/projects/gnuwin32/files/sed/4.2.1/?sort=filename&sortdir=asc
x sed for Windows dllがない

Home New Help Edit
2024-03-09 16:27:34 32400