2

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

这是我正在使用的查找命令:

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

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

4

2 回答 2

2

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

find "Users/test/Desktop/Units" -name CrashLog -prune -o \( -name "*.html" -o -name "*.js" \) -print
于 2012-04-05T02:33:59.880 回答
1
find "Users/test/Desktop/Units" -name CrashLog -prune -a \( -name "*.html" -o -name "*.js" \)
于 2012-04-05T01:35:53.747 回答