facebook twitter hatena line email

Linux/コマンドメモ/sed

提供: 初心者エンジニアの簡易メモ
2019年1月29日 (火) 14:33時点におけるAdmin (トーク | 投稿記録)による版 (dir内のファイルを対象にある文字を置換)

移動: 案内検索

置換して表示

sed -e "s/hoge/piyo/g" test.txt 

置換して上書き保存

sed -i -e "s/hoge/piyo/g" test.txt

直下のtxt拡張子のすべてを置換して上書き保存

sed -i -e "s/hoge/piyo/g" *.txt

変数を置換する場合

TEST="hoge"
TEST=`echo $TEST| sed "s/hoge/piyo/g"`

正規表現

sed -i -e "s/<string name=¥"app_flag¥">¥(true¥|false¥)/<string name=¥"app_name¥">true/g" strings.xml

区切り文字

以下区切り文字が使える

/
|
%
:

dir内のファイルを対象にある文字を置換

ls schema/* | xargs sed -i "s/CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP/0/g"

grep内のファイルを対象にある文字を置換

grep hoge ./ -r -l | xargs sed -i -e "s/hoge/piyo/g"