Unix 如何使用带有通配符的grep查找目录中的文件?

Unix 如何使用带有通配符的grep查找目录中的文件?,unix,grep,Unix,Grep,我有几百个文件,文件名如下: 20110404_091415-R1-sometext 另一个文件名可能被命名为: 20110404_091415-R1.2-sometext 我想做的是在终端中使用Unix grep工具查找从2011开始并且文件名中也包含-R1的文件。不幸的是,我不知道如何找到满足这两个条件的文件。我试图找出一个正则表达式来匹配这个,但我只是一个初学者。有人能帮忙吗?提前感谢您抽出时间 ls | grep "^2011.*-R1.*" 我应该做这项工作 应该做这项工作为什么还要

我有几百个文件,文件名如下: 20110404_091415-R1-sometext

另一个文件名可能被命名为: 20110404_091415-R1.2-sometext

我想做的是在终端中使用Unix grep工具查找从2011开始并且文件名中也包含-R1的文件。不幸的是,我不知道如何找到满足这两个条件的文件。我试图找出一个正则表达式来匹配这个,但我只是一个初学者。有人能帮忙吗?提前感谢您抽出时间

ls | grep "^2011.*-R1.*"
我应该做这项工作


应该做这项工作

为什么还要使用grep?我认为
ls 2011*R1*
应该足够了。

为什么还要使用grep?我认为
ls 2011*R1*
应该足够了。

只需查找文件,您可以使用
ls 2011*R1*
echo 2011*R1*
。要对文件执行某些操作,请使用循环(通常)


您可以使用
ls 2011*R1*
echo 2011*R1*
查找文件。要对文件执行某些操作,请使用循环(通常)


它应该是>而不带引号,这是在grep中使用正则表达式的一个例子。感谢您指出..我已经更正了..这就是当您与bash失去联系并开始使用powershell时发生的情况:)它应该是>而不带引号,这是在grep中使用正则表达式的一个例子。感谢您指出..我已经更正了..这是当您与bash失去联系并开始使用powershell时发生的情况:)解析
ls
的输出是不可靠的。此外,这可以通过globbing实现。解析
ls
的输出是不可靠的。此外,这可以使用globbing来完成。
for file in 2011*R1*
do
   ....
done