Linux > sedコマンド

sedでファイル内のテキストを置換する際、-i オプションで元のファイルに上書き保存できます。

また、-iの後に何か文字列を書くと、バックアップファイルまで作成してくれます。

使い方
$ echo "aaa" > test.txt
$ sed -i".bak" -e "s/aaa/bbb/g" test.txt
#-iと続く文字列の間をつめること

$ more test.txt*
::::::::::::::
test.txt
::::::::::::::
bbb
::::::::::::::
test.txt.bak
::::::::::::::
aaa

ディレクトリ内の全txtファイル内のテキストを置換するには

$ for FILE in *.txt; do sed -i -e "s/aaa/bbb/g" $FILE; done
or
$ find -name '*.txt' | xargs sed -i 's/aaa/bbb/g'
# -e オプションは省略できる
 

後方参照

$ find -name "*.texi" | xargs sed -i "s/\(@xref{.*}\)。/\1.。/g"
 
}
最終更新:2015年03月12日 15:47