약 10,000개의 파일이 포함된 여러 디렉터리가 있습니다. 두 번째 줄에 특정 문자열이 포함된 경우 모든 파일을 검색하고 파일 이름을 반환하는 가장 빠른 방법은 무엇입니까?
명확성을 위해 편집됨
답변1
awk 'FNR==2 {if (/some string/) print FILENAME; nextfile}' ./*
일부 awk에는 "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