查找命令不从结果中排除文件夹

时间:2012-04-05 01:33:15

标签: unix find

我有一个shell脚本,它输出用户提供的文件夹中的所有.js和.html文件。我需要从搜索结果中排除子文件夹及其所有文件。我正在使用find命令执行此操作。我目前的命令会排除此子文件夹下的所有文件,但会在结果中输出子文件夹。我想要排除一个名为“CrashLog”的文件夹及其所有文件。该子文件夹的路径是“Users / test / Desktop / Units / JSunit / CrashLog /”

这是我正在使用的find命令:

find "Users/test/Desktop/Units" -name CrashLog -prune -o -name "*.html" -o -name "*.js" 

输出包括“Users / test / Desktop / Units / JSunit / CrashLog /”。我怎么能排除这个?我知道我可以使用grep,但是如果有使用find本身的解决方案,我会更喜欢。我在Mac OSX上运行。

2 个答案:

答案 0 :(得分:2)

您需要-print,在文件扩展名测试的末尾和括号中:

find "Users/test/Desktop/Units" -name CrashLog -prune -o \( -name "*.html" -o -name "*.js" \) -print

答案 1 :(得分:1)

find "Users/test/Desktop/Units" -name CrashLog -prune -a \( -name "*.html" -o -name "*.js" \)