2013-01-02 50 views

回答

11

是的。 grep "a certain string" 200901*/*.csv

5

你需要的东西,如:

grep NEEDLE 200901*/*.csv 

(假设你的搜索字符串是当然的NEEDLE - 只是将其更改为任何你实际上寻找)。

bash壳是完全有能力扩大多层次的路径和文件名。

也就是说,只限于一个目录下的CSV文件。如果你想搜索整个子树,你将不得不使用稍微模式复杂的(和可适应的)find命令。

虽然,假设你可以在深度设定的限制,你可以逃脱像(三个级别):

grep NEEDLE 200901*/*.csv 200901*/*/*.csv 200901*/*/*/*.csv 
+0

或者,你可以[组globstar和使用**](http://wiki.bash-hackers.org/internals/shell_options#globstar) –

4

试试这个:

grep -lr "Pattern" 200901*/*.csv 
0

尝试的组合找到搜索特定文件名模式和grep的寻找模式:

find . -name "*.csv" -print -exec grep -n "NEEDLE" {} \; | grep -B1 "NEEDLE" 
相关问题