我正尝试使用以下命令将特定文件重定向到bash shell中的“find”命令。
ls sample.txt | find -name "*ple*"
我想在我传递的文件名ple
中搜索子字符串sample.txt
,但上面的命令正在检查目录中所有文件的匹配。它没有在我使用管道传递的特定文件中搜索匹配。
答案 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'