gpt4 book ai didi

linux - 查找未按预期执行的命令

转载 作者:太空宇宙 更新时间:2023-11-04 10:30:36 25 4
gpt4 key购买 nike

我想找到文件名掩码模式为 filemask1filemask2 的所有文件,并排除 unwanted* 模式,即包含在指定的目录中。我正在尝试运行以下命令:

find dir/ other_dir/ parent/child/dir/ parent/child/other_dir/ parent/other_dir/ -iname '*filemask1*' -o -iname '*filemask2*' ! -iname '*unwatned1*' ! -iname '*unwanted2*' ! -iname '*unwanted3*' ! -iname '*unwanted4*'  ! -iname '*unwanted5*' ! -iname '*unwanted6*' ! -iname '*.xls*'

我正在从包含我尝试搜索的每个路径的目录中执行此操作。上面给出了指定目录中的所有文件,但不排除不需要的模式。

find dir/ other_dir/ parent/child/dir/ parent/child/other_dir/ parent/other_dir/ \(-iname '*filemask1*' -o -iname '*filemask2*'\) ! -iname '*unwatned1*' ! -iname '*unwanted2*' ! -iname '*unwanted3*' ! -iname '*unwanted4*'  ! -iname '*unwanted5*' ! -iname '*unwanted6*' ! -iname '*.xls*'

给我:

find: invalid expression; you have used a binary operator '-o' with nothing before it.

同时

find dir/ other_dir/ parent/child/dir/ parent/child/other_dir/ parent/other_dir/ ! -iname '*unwatned1*' ! -iname '*unwanted2*' ! -iname '*unwanted3*' ! -iname '*unwanted4*'  ! -iname '*unwanted5*' ! -iname '*unwanted6*' ! -iname '*.xls*' \(-iname '*filemask1*' -o -iname '*filemask2*'\)

给我

find: paths must precede expression: (-iname
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

我是否遗漏了有关如何解释的内容?有没有办法简化它,使其不那么冗长?我知道拥有更好的文件名可以缓解很多问题,但我无法控制:/

如果有人可以包含一种方法来修剪包含在指定搜索目录中的多种目录模式,那将是一个好处

最佳答案

如果我理解您的意思,您第一个问题的答案是将需要的名称和不需要的名称分开分组。

find \
dir/ other_dir/ parent/child/dir/ parent/child/other_dir/ parent/other_dir/ \
\( -iname '*filemask1*' -o -iname '*filemask2*' \) \
! \( -iname '*unwatned1*' -o -iname '*unwanted2*' -o -iname '*unwanted3*' -o -iname '*unwanted4*' -o -iname '*unwanted5*' -o -iname '*unwanted6*' -o -iname '*.xls*' \)

不需要的目录也可以通过简单的正则表达式排除。

关于linux - 查找未按预期执行的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40155985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com