9

file1.txt在 Unix 上有一个文本文件。我想生成另一个文件file2.txt,在其中我将所有出现的 替换apple-pieapple_pie。我可以使用什么命令?

4

2 回答 2

18

用于sed对输出进行全局替换file1.txt并将输出重定向到file2.txt

sed 's/apple-pie/apple_pie/g' file1.txt > file2.txt
于 2012-12-01T21:03:06.990 回答
1

sed具有更好的性能,awk但两者都适用于此搜索和替换。参考

如果您将命令放在脚本中(例如,ksh、sh),那么语法如下:

awk '{gsub(/apple-pie/,"apple_pie");print}' "file1.txt" > "file2.txt"
sed -e 's/apple-pie/apple_pie/g' "file1.txt" > "file2.txt"
于 2014-05-01T20:01:14.713 回答