Bash-创建for循环以查找目录中的所有值

Bash-创建for循环以查找目录中的所有值,bash,Bash,我正在尝试查找所有包含值的文件。该值位于我创建的另一个文件中 因此,包含所有值的文件名称为value.txt 在我需要搜索所有值的地方,有多个带有.txt文件的目录 我正在尝试这样的东西 find -name "*.txt" | xargs grep value.txt 我想更改它,使其在所有目录中循环并列出所有值。我需要创建一个for循环来执行此操作。只需: grep -l -r -f value.txt base_directory 说明: -l-只需打印找到匹配文件的文件名即可 -r

我正在尝试查找所有包含值的文件。该值位于我创建的另一个文件中

因此,包含所有值的文件名称为
value.txt

在我需要搜索所有值的地方,有多个带有
.txt
文件的目录

我正在尝试这样的东西

find -name "*.txt" | xargs grep value.txt
我想更改它,使其在所有目录中循环并列出所有值。我需要创建一个for循环来执行此操作。

只需:

grep -l -r -f value.txt base_directory
说明:

  • -l
    -只需打印找到匹配文件的文件名即可
  • -r
    -递归到子目录中
  • -f value.txt
    -从
    value.txt
  • base\u目录
    -查找匹配文件的位置
如果要搜索多个未按层次结构组织的目录:

for dir in some_dir1 some_other_dir some_dir/in/some_dir
do
  grep -l -r -f value.txt $dir
done
那就:

grep -l -r -f value.txt base_directory
说明:

  • -l
    -只需打印找到匹配文件的文件名即可
  • -r
    -递归到子目录中
  • -f value.txt
    -从
    value.txt
  • base\u目录
    -查找匹配文件的位置
如果要搜索多个未按层次结构组织的目录:

for dir in some_dir1 some_other_dir some_dir/in/some_dir
do
  grep -l -r -f value.txt $dir
done

谢谢,但是有20多个目录,我需要让它在所有目录中循环并列出存在值的文件。嘿,在找出正确的find/exec语法时,我忽略了这样一个优雅的解决方案。不太好,我也有子目录,我需要它来搜索。我想你可以使用find/exec和它的组合来枚举多个目录。我不知道grep将-f slick作为heckthank,但有20多个目录,我需要创建它循环浏览所有并列出存在值的文件。嘿,在找出正确的find/exec语法时,我忽略了这样一个优雅的解决方案。不太好,我也有子目录,我需要它来搜索。我想你可以使用find/exec和它的组合来枚举多个目录。我不知道grep take-f slick是什么意思