如何将文件名作为字符串提供给grep,以便它搜索文件中的模式?

时间:2016-09-12 08:54:02

标签: regex grep

ls local* | tail -1

给出一个文件名,例如localhost.txt。我希望grep在这个文件中搜索模式而不是文件名字符串。以下不起作用,因为它在文件名字符串中而不是在文件内查找模式。

ls local* | tail -1 | grep -Eo 'pattern'

我感谢任何帮助!谢谢!

2 个答案:

答案 0 :(得分:1)

你可以做点什么

cat $(ls local *)| grep -Eo'模式'

答案 1 :(得分:1)

假设您的文件名不包含任何空格/ glob等字符,您可以xargs

ls local* | tail -1 | xargs grep -Eo 'pattern'

或使用命令替换:

grep -Eo 'pattern' $(ls local* | tail -1)