例如: 我有一个txt文件,如:
文本( “你好”) 文字(“世界”) 文本(“曾经”) 文本( “再次”)
Aim to replace
hello with string_1,
world with string_2,
once with string_3,
again with string_4,
如何编写脚本?
答案 0 :(得分:0)
perl -pi -e 's/hello/string_1/g;s/world/string_2/g;s/once/string_3/g;s/again/string_4/g' your_file;
上面的命令将进行inplace replacement.if你想要输出到控制台,然后,
删除“i
”。
另一种方式是:
sed -e 's/hello/string_1/g;s/world/string_2/g;s/once/string_3/g;s/again/string_4/g' your_file
AWK:
awk '{gsub(/hello/,"string_1");gsub(/world/,"string_2");gsub(/once/,"string_3");gsub(/again/,"string_4");print}' your_file
答案 1 :(得分:0)
一种很好的技巧是使用替换字符串的字典。类似的东西:
perl -pe '%x=(
"hello" => "string_1",
"world" => "string_2",
"once" => "string_3",
"again" => "string_4",
);
s/$k/$v/g while( $k, $v ) = each %x' input-file