2017-04-16 102 views
0

我想更换一个的分离用空间与其他两个词两个词组成的短语:查找和sed:如何替换文件?

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

但是,即使模式“W1,W2,”在当前目录多个文件时,似乎没有任何更改。

+0

您可能会发现sed选项'-i'有用。目前替换只能在stdout上完成,不会影响文件。 –

+2

这为什么让你感到惊讶?当你运行'sed's/w1 w2/w3 w4/g'filename'时会发生什么?你现在明白你的错误吗? – Jens

+0

@Jens很好的答案,但不幸的是,人们来到StackOverflow寻找答案,而不是寻找如何学习。 – jdigital

回答

1

尝试指定sed的-i--in-place选项。否则,它不会实际更改文件。查看sed documentation了解更多信息。

备注:如果您首次在没有find的情况下工作,您会发现更容易进行故障排除。从小开始,然后建立起来。