如何将特定文件传递给find命令?

时间:2016-11-23 22:43:53

标签: bash shell unix

我正尝试使用以下命令将特定文件重定向到bash shell中的“find”命令。

ls sample.txt | find -name "*ple*"

我想在我传递的文件名ple中搜索子字符串sample.txt,但上面的命令正在检查目录中所有文件的匹配。它没有在我使用管道传递的特定文件中搜索匹配。

2 个答案:

答案 0 :(得分:0)

您需要使用grep命令而不是find来抓取文件系统。

答案 1 :(得分:0)

如果您要在文件名“sample.txt”中查找子字符串“ple”,那么此代码可以满足您的需求:

mkdir -p /tmp/holder-file/ && cp /directory/sample.txt /tmp/holder-file/ && ls /tmp/holder-file/ | grep -e "ple"

不是超级优雅,但效果很好。

编辑:感谢Benjamin W.带来更优雅的解决方案:

grep -e 'ple' <<< '/directory/sample.txt'