我一直在这个小时,由于某种原因,我找不到为什么这个命令不会取代所需的字符串。我想这grep或查找和sed来替换字符串
grep -r -l 'first\.second\.third\.fourth' . | xargs -i -e sed's/first\.second\.third\.fourth/foo\.bar\.fooey/g'
所以我想要做的,通过大量的文件的文件夹被递归搜索和改变"first.second.third.fourth"
到"foo.bar.fooey"
。在我运行grep和sed命令之后,我再次grep以确保找不到“first.second.third.fourth”,但是它出现了,我相信它只是同样多次。所以我几乎在智慧的结尾。
任何帮助将不胜感激。感谢大家。
不要忘记在sed中替代命令的LHS中的'.'意味着匹配任何单个字符。要匹配一段时间,请使用'\ .' – potong 2012-02-29 00:34:16
@potong,您说得对,我甚至没有注意到这一点。编辑... – Beta 2012-02-29 00:38:00
@potong你绝对正确。我确实在我的终端上有这个功能,但是当我把它复制过来时,并没有把这个功能转移到我的错误中。 – bdc 2012-02-29 01:08:02