当前位置: 首页 > 面试题库 >

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

申昌勋
2023-03-14
问题内容

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

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

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

问题答案:

使用-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,仅打印。



 类似资料:
  • 问题内容: 我要复制目录中的所有文件,但特定子目录中的某些文件除外。我注意到’cp’命令没有–exclude选项。那么,我该如何实现呢? 问题答案: rsync快速简便: 您可以使用多次。 请注意, option 之后的dir 相对于,即。 您也可以添加空运行以查看执行实际操作之前要复制的内容,如果一切正常,请从命令行中删除。

  • 问题内容: 我想遍历除“ node_modules”目录以外的所有子目录。 问题答案: 解决方案1(组合和) 该解决方案的目的不是要处理性能,而是要显示一个可移植的解决方案:还应该与busybox或2.5之前的GNU版本一起使用。 使用 ,排除foo和bar目录: 然后结合 使用和 作为递归解决方案的非递归使用: 解决方案2(递归使用): 您已经知道此解决方案,但是我添加了它,因为它是最新,最有效

  • 我正试图排除一个目录被声纳分析。我在文件中定义了以下属性:

  • 问题内容: 当我grep我的Subversion工作副本目录时,结果包括.svn目录中的许多文件。是否可以递归grep目录,但排除.svn目录中的所有结果? 问题答案: 如果您有GNU Grep,它应该像这样工作: 如果碰巧是在没有GNU Grep的Unix系统上,请尝试以下操作:

  • 使用IntelliJ打开一个< code>build.gradle文件,在“从gradle导入项目”窗口中,“排除的根”预填充有< code >。gradle和< code>build目录。 如何指定在文件? 具体来说,我使用了一个协议缓冲插件,它将生成的源代码放在< code >/build/generated-sources/目录中。如果排除了< code>build目录,那么我的源类就看不到

  • 问题内容: 这有些奇怪。 这返回 并不是 如何获得保留空格,以便文件路径正确? 问题答案: 可以通过几种方式完成此操作,但我发现这样做更好: