我必须在大量包含特定模式的大型 ASCII 文件中找到所有文件。目前我正在这样做
grep -l <pattern> <files>
而且速度非常慢。 但我知道该模式会出现在最后 10 行(如果存在)。是否有一种优雅的可能性只搜索最后一行以加快搜索速度,例如用awk?
最佳答案
您可以在处理时简单地打印文件名
for f in $files; do
echo "---- File \"$f\" ------"
tail -n 10 "$f" | grep -l "$pattern"
# you can also save the stdout to $f...
done
关于sed - 通过搜索最后几行的模式来查找文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17146901/