2012-12-01 175 views
8

我在Unix上有一個文本文件file1.txt。我想生成另一個文件file2.txt,其中我將apple-pie的所有匹配項替換爲apple_pie。我可以使用什麼命令?替換文件中的字符串Unix

回答

17

使用sed做全局替換上file1.txt和輸出重定向到file2.txt

sed 's/apple-pie/apple_pie/g' file1.txt > file2.txt 
1

sedawk更好的性能,但都將這個找工作和替換。 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"