如何使用带通配符的grep在目录中查找文件?
问题描述:
我有几百个文件与文件名如: 20110404_091415-R1-sometext如何使用带通配符的grep在目录中查找文件?
另一个文件名可能被命名为: 20110404_091415-R1.2-sometext
我想什么做的是使用终端中的Unix grep工具查找以2011开头的文件,并在文件名中包含-R1。不幸的是,我不知道找到满足这两个标准的文件。我试图找出一个与此匹配的正则表达式,但我只是一名初学者程序员。任何人都可以帮忙吗?在此先感谢您的时间。
答
为什么还要使用grep?我认为ls 2011*R1*
应该就足够了。
答
ls | grep "^2011.*-R1.*"
应该做的工作
+0
解析'ls'的输出是不可靠的。此外,这可以使用globbing完成。 – 2011-04-04 13:49:09
答
只要查找文件,您可以使用ls 2011*R1*
或echo 2011*R1*
。要做文件,使用循环(通常)
for file in 2011*R1*
do
....
done
它应该是没有引号的>,它是在grep中使用正则表达式的一个例子。 – 2011-04-04 13:34:13
谢谢指出..我已经纠正它..这是什么时候会发生什么,当你与bash联系,并开始使用PowerShell :) – Aadith 2011-04-07 05:31:51
伟大的,再次感谢您的帮助。这工作完美。 – drbunsen 2011-04-07 13:57:07