【发布时间】:2017-10-13 06:52:11
【问题描述】:
我需要递归一个目录,删除所有带有js和map扩展名的文件。
我目前拥有的不起作用的是
find . -name *.js -or -name *.map | xargs rm
这个命令有什么明显的错误吗?
【问题讨论】:
-
首先,以安全的方式进行调试。将
xargs rm更改为xargs echo并验证您的输出。其次,在你去别名之前从命令行尝试实际的命令。所以在 shell 中运行 find 命令,看看你得到了什么。您应该会看到它找到的所有文件的名称。如果为空,则说明文件名有问题或没有文件。 -
find 命令是问题所在,它什么也没返回。我根本不应该包含别名。我会更新问题
-
Find 命令在我的 shell 中对以 .py 结尾的文件有效,我有很多文件。问题不在于命令,而在于它在做什么。
-
直到现在我还没有意识到
-o也可以写成-or(-a和-and也一样)。但较长的形式似乎是 GNU 扩展,不是 POSIX 强制要求的,因此使用-o可能更安全。