특정 패턴을 포함하는 다수의 큰 ASCII 파일에서 모든 파일을 찾아야합니다. 지금 내가 그걸로하고있어패턴의 마지막 줄을 검색하여 파일 이름을 찾습니다.
grep -l <pattern> <files>
매우 느리다. 그러나 패턴이 존재한다면 마지막 10 줄에 패턴이 나타납니다. 마지막 줄만 검색하여 검색 속도를 높일 수 있습니까? 예 : awk로?
특정 패턴을 포함하는 다수의 큰 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
파일의 특정 줄 수만 보려면 명령 구문을 따르십시오.
tail [+ number] [-l] [-b] [-c] [-r] [-f] [-c number | -n number] [file]
지금 당신은 당신의 특정 작업을 수행 할 수 greap
고양이를 COMAND하는 파이프를 사용할 수 있습니다.
즉
tail -n 10 <fileName>|grep -l <pattern> <files>
Click here 자세한 내용을 알고 있습니다.
그러나 grep의 출력을 다른 명령 (이 경우 꼬리)에 파이프하면 grep이 모든 단일 파일의 모든 단일 행을 검색하지 못하게합니다? – tmartin
내 대답을 편집했습니다. 지금 시도해보십시오. –
확인을 처리하는 동안 당신은 단순히. 어쩌면 내가 STH 오해, 파일 이름을 인쇄 할 수 있습니다,하지만 난 grep을 위해 꼬리 파이프를 출력을 사용하는 경우, 나는, 파일 이름을 얻을 수없는 입력 때문에 grep은 표준 입력입니다. – tmartin
파이프가 느리면 더 나은 파일을 사용하십시오. – Endoro