使用正则表达式 Grep 指定要搜索的文件名的多个文件

Ete*_*ner 4 regex linux bash grep

假设我有n一些名称为link123.txtlink345.txtlink645.txt等的文件。

我想 grep 这些n文件的子集来查找关键字。例如:

grep 'searchtext' link123.txt link 345.txt ...
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情

grep 'searchtext' link[123\|345].txt
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我如何将文件名作为正则表达式提及?

CS *_*Pei 5

你可以像这样一起使用findgrep

find . -regex '.*/link\(123\|345\).txt' -exec grep 'searchtext' {} \;
Run Code Online (Sandbox Code Playgroud)

感谢高蒂的评论。