我在Unix上有一个文本文件file1.txt
。我想制作另一个文件file2.txt
,其中我用apple-pie
替换所有出现的apple_pie
。我可以使用什么命令?
答案 0 :(得分:18)
使用sed
在file1.txt
上进行全局替换,并将输出重定向到file2.txt
:
sed 's/apple-pie/apple_pie/g' file1.txt > file2.txt
答案 1 :(得分:1)
sed
的效果优于awk
,但两者都适用于此搜索和替换。 Reference
如果您将命令放在脚本中(例如,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"