2011-04-04 69 views
0

我有几百个文件与文件名如: 20110404_091415-R1-sometext如何使用带通配符的grep在目录中查找文件?

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

我想什么做的是使用终端中的Unix grep工具查找以2011开头的文件,并在文件名中包含-R1。不幸的是,我不知道找到满足这两个标准的文件。我试图找出一个与此匹配的正则表达式,但我只是一名初学者程序员。任何人都可以帮忙吗?在此先感谢您的时间。

回答

3

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

+0

它应该是没有引号的<< ls 2011 * -R1 * >>,它是在grep中使用正则表达式的一个例子。 – 2011-04-04 13:34:13

+0

谢谢指出..我已经纠正它..这是什么时候会发生什么,当你与bash联系,并开始使用PowerShell :) – Aadith 2011-04-07 05:31:51

+0

伟大的,再次感谢您的帮助。这工作完美。 – drbunsen 2011-04-07 13:57:07

0
ls | grep "^2011.*-R1.*" 

应该做的工作

+0

解析'ls'的输出是不可靠的。此外,这可以使用globbing完成。 – 2011-04-04 13:49:09

0

只要查找文件,您可以使用ls 2011*R1*echo 2011*R1*。要做文件,使用循环(通常)

for file in 2011*R1* 
do 
    .... 
done 
相关问题