小编典典

如何在find中排除目录。命令

linux

我正在尝试find为所有JavaScript文件运行命令,但是如何排除特定目录?

这是find我们正在使用的代码。

for file in $(find . -name '*.js')
do 
  java -jar config/yuicompressor-2.4.2.jar --type js $file -o $file
done

阅读 823

收藏
2020-06-02

共1个答案

小编典典

使用-prune开关。例如,如果要排除misc目录,只需-path ./misc -prune -o在查找命令中添加一个:

find . -path ./misc -prune -o -name '*.txt' -print

这是带有多个目录的示例:

find . -type d \( -path dir1 -o -path dir2 -o -path dir3 \) -prune -o -print

在这里,我们排除了 dir1dir2dir3 ,因为在find表达式中,这是一个作用于条件-path dir1 -o -path dir2 -o -path dir3(如果是 dir1dir2dir3 )的操作,并与进行与type -d

进一步的操作是-o print,仅打印。

2020-06-02