我有几个包含约 10,000 个文件的目录。如果第二行包含特定字符串,搜索每个文件并返回文件名的最快方法是什么?
为了清晰起见进行了编辑
答案1
awk 'FNR==2 {if (/some string/) print FILENAME; nextfile}' ./*
有些 awks 没有“nextfile”。
答案2
我不确定高速但应该也可以
for i in *
do
{
IFS= read -r line1 &&
IFS= read -r line2 &&
case $line2 in
*some_string*)
printf "%s\n" "$i" ;;
esac
} < "$i"
done