Shell Unix命令不工作

Shell Unix命令不工作,shell,unix,scripting,Shell,Unix,Scripting,我需要递归一个目录并删除所有带有js和map扩展名的文件 我目前没有的是 find . -name *.js -or -name *.map | xargs rm 这个命令有什么明显的错误吗?shell可能正在扩展参数以查找。引用他们的话: find . \( -name '*.js' -or -name '*.map' \) -delete shell可能正在扩展参数以查找。引用他们的话: find . \( -name '*.js' -or -name '*.map' \) -delet

我需要递归一个目录并删除所有带有js和map扩展名的文件

我目前没有的是

find . -name *.js -or -name *.map | xargs rm

这个命令有什么明显的错误吗?

shell可能正在扩展参数以查找。引用他们的话:

find . \( -name '*.js' -or -name '*.map' \) -delete

shell可能正在扩展参数以查找。引用他们的话:

find . \( -name '*.js' -or -name '*.map' \) -delete

首先,以安全的方式进行调试。将
xargs-rm
更改为
xargs-echo
并验证输出。其次,在执行之前,请尝试从命令行执行实际命令并将其别名。所以在shell中运行find命令,看看您得到了什么。您应该看到它找到的所有文件的名称。如果为空,则表示文件名有问题或没有文件。问题是find命令,它不返回任何内容。我根本不应该包括别名。我将更新shell中以.py结尾的文件中的questionFind命令,我有很多这样的文件。问题不在于命令,而在于它在做什么。到目前为止,我还没有意识到
-o
也可以写成
-或
(与
-a
-和
相同)。但是较长的表单似乎是GNU扩展,而不是POSIX强制要求的,因此使用
-o
可能更安全。将
xargs-rm
更改为
xargs-echo
并验证输出。其次,在执行之前,请尝试从命令行执行实际命令并将其别名。所以在shell中运行find命令,看看您得到了什么。您应该看到它找到的所有文件的名称。如果为空,则表示文件名有问题或没有文件。问题是find命令,它不返回任何内容。我根本不应该包括别名。我将更新shell中以.py结尾的文件中的questionFind命令,我有很多这样的文件。问题不在于命令,而在于它在做什么。到目前为止,我还没有意识到
-o
也可以写成
-或
(与
-a
-和
相同)。但是较长的表单似乎是GNU扩展,而不是POSIX强制要求的,因此使用
-o
可能更安全。请注意(取决于您的shell和设置),如果当前目录中没有匹配的文件,原始命令可能会起作用。请注意(取决于您的shell和设置)如果当前目录中没有匹配的文件,则原始命令可能会起作用。