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がない
2024-08-14 11:00:23 32400