【发布时间】:2019-06-27 02:11:30
【问题描述】:
我想匹配文件中的模式并替换它。
This command 与 egrep、xargs 和 sed 一起使用:
egrep -lRZ "hello" . | xargs -0 -l sed -i -e 's/hello/world/g'
问题:在 MacOS 上不起作用,因为 MacOS 的 xargs 不支持参数 -l。
xargs: illegal option -- l
usage: xargs [-0opt] [-E eofstr] [-I replstr [-R replacements]] [-J replstr]
[-L number] [-n number [-x]] [-P maxprocs] [-s size]
[utility [argument ...]]
这在 MacOS 上如何解决?
【问题讨论】:
-
我无法相信您的命令(如此处所示)正在运行。您缺少一个管道
|和sed的一半s/search/replace/表达式。 -
没错。我修好了。
-
如果您edit 向我们展示了该脚本的用途(即提供minimal reproducible example),那么我们可以帮助您合理地使用
find编写它以查找 文件,以及其他适当的标准 UNIX 工具。