如何列出名称中包含特定单词的目录和子目录中存在的所有以“.doc”结尾的文件而不使用管道?

如何列出名称中包含特定单词的目录和子目录中存在的所有以“.doc”结尾的文件而不使用管道?

例如,如果我有一个名为 的目录Test,它有一个名为 的文件test.docString一个名为 的子目录Testsdoc2.doc 那么这种情况下的输出将只是test.doc因为该子目录不包含单词test

答案1

这个怎么样:

find -type f -ipath '*test*/*.doc'

答案2

find命令将搜索 Test 目录及其所有子目录中的所有文件,并列出包含字符串“test”的所有文件。

find Test -type f -exec grep -l test {} \;

答案3

如果我理解正确的话:

cd /path/Test || exit

find . -type f -name "*test*.doc" -exec grep -l "String" {} \;

查找名称中包含“test”且内容中包含单词“String”的文件。

相关内容