查找和sed:如何就地替换文件?

查找和sed:如何就地替换文件?,sed,find,Sed,Find,我想用另外两个单词替换由两个单词组成的短语,两个单词之间用空格隔开: find . -type f -exec sed 's/w1 w2/w3 w4/g' {} + 但是,即使模式“w1 w2”出现在当前目录的许多文件中,似乎也没有任何变化。尝试为sed指定-i或-in-place选项。否则它实际上不会更改文件。有关更多信息,请查看 旁注:如果您第一次在不使用find的情况下运行此功能,您会发现故障排除更容易。从小处开始,然后逐步积累。您可能会发现sed的选项-i非常有用。目前,替换只在std

我想用另外两个单词替换由两个单词组成的短语,两个单词之间用空格隔开:

find . -type f -exec sed 's/w1 w2/w3 w4/g' {} +

但是,即使模式“w1 w2”出现在当前目录的许多文件中,似乎也没有任何变化。

尝试为sed指定
-i
-in-place
选项。否则它实际上不会更改文件。有关更多信息,请查看


旁注:如果您第一次在不使用
find
的情况下运行此功能,您会发现故障排除更容易。从小处开始,然后逐步积累。

您可能会发现sed的选项
-i
非常有用。目前,替换只在stdout上进行,对文件没有影响。为什么这会让您感到惊讶?运行sed的s/w1 w2/w3 w4/g文件名时会发生什么情况?“你现在明白你的错误了吗?”詹的回答很好,但不幸的是,人们来到这里是为了寻找答案,而不是寻找如何学习。