【发布时间】:2023-03-26 01:02:01
【问题描述】:
假设有一个名为“my-folder”的文件夹包含 100 个文件。如果我们想用“replacedString”替换所有100个文件中的字符串“originalString”(不是在文件名中,而是在实际文件中),应该用什么命令来完成这项工作?
试过了:grep -rl matchstring ~/my-folder | xargs sed -i 's/originalString/replacedString/g'
find ~/my-folder -type f -exec sed -i 's/originalString/replacedString/g' {} \;
我还在 stackoverflow 上阅读了 this。
这些都不适合我。我拼写错误?顺便说一句,我在 linux 上。
【问题讨论】:
-
两种解决方案对我来说都很好。它根本不起作用或在什么范围内起作用?
-
grep -rl matchstring ~/my-folder | xargs sed -i 's/originalString/replacedString/g'给了我sed: no input files并且第二个命令没有给我任何东西。难道是因为在我提供的目录中,还有其他文件所在的目录?
标签: linux replace sed terminal grep