列出符合条件的文件的问题

列出符合条件的文件的问题

特定路径下存在数亿千计的文件,

想通过 perl -i -pe 命令行的方式在所有文件中匹配某固定字符串,

如果该字符串在该文件中存在,就把文件名直接在屏幕上输出。

匹配字符串的过程好办,问题是该如何把符合条件的文件名列出来呢?

望不吝赐教~ 谢谢!
print 嘛
find 'path' | xargs grep -c 'word' | grep -v ":0"


QUOTE:
原帖由 DQP 于 2008-12-17 12:51 发表
find 'path' | xargs grep -c 'word' | grep -v ":0"

这个灵的,多谢 DQP 。
grep -l 'word' /path/*


QUOTE:
原帖由 ly5066113 于 2008-12-17 14:13 发表
grep -l 'word' /path/*

一个grep 就能解决问题的问题,呵呵
perl有什么命令可以结束当前文件的输入,跳转到下一个文件?
比如:

perl -ne 'if(/1/){print $_;nextfile;}' 1.txt 2.txt

nextfile 这里应该用什么命令,可以使perl停止从1.txt读记录,而开始从2.txt读记录,就相当于GNU awk 的nextfile命令。


QUOTE:
原帖由 ly5066113 于 2008-12-17 16:43 发表
perl有什么命令可以结束当前文件的输入,跳转到下一个文件?
比如:

perl -ne 'if(/1/){print $_;nextfile;}' 1.txt 2.txt

nextfile 这里应该用什么命令,

close ARGV
谢了。
我原来用的是 close $ARGV,看来还是对perl理解不够。