小编Fra*_*nce的帖子

查找时如何跳过多个目录

我编写了一个 find 函数,它在给定路径中的每个文件中搜索一个字符串,同时跳过我不想搜索的目录名称列表。我已经把这个脚本放在我的 .bashrc 文件中,像这样调用:

findTEXTinFILES /path/to/search 'text-to-find'
Run Code Online (Sandbox Code Playgroud)

find 部分效果很好,它为搜索文本着色,使其在视觉上脱颖而出!,但我无法让它跳过用 -prune 列出的目录。我已经阅读了我能找到的所有帖子,但没有一个对我有用。我尝试了多种变体,但都没有运气。所以我有几个问题:

  • 如何跳过多个目录?
  • 如何跳过仅具有部分名称的目录,例如以“--”或“wp-”开头的目录?
  • 您可以在同一个脚本中混合使用-name-path标准吗?
  • 还有什么我错过的吗?

我的服务器是带有 bash shell 的 CENTOS 6.9 virtuozzo。

function findTEXTinFILES {

find "$1" ! \( -name .bash_history -prune \
    -o ! -path tmp -prune \
    -o ! -path short -prune \
    -o ! -path "*/_not_used/*" -prune \
    -o ! -path backups -prune \
    -o ! -path temp_logs -prune \
    -o ! -name .cpan -prune \
    -o ! -name .cpobjcache -prune \ …
Run Code Online (Sandbox Code Playgroud)

linux directory grep text find

7
推荐指数
1
解决办法
2205
查看次数

标签 统计

directory ×1

find ×1

grep ×1

linux ×1

text ×1