파일의 처음 n 줄만 잡을 수 있습니까?
로그 파일이 매우 길어서 grep에게 처음 10 줄만 검색하도록 요청할 수 있습니까?
파이프의 마술;
head -10 log.txt | grep <whatever>
Google에서 이것을 찾는 사람들을 위해 n
여러 파일 의 첫 줄 을 검색해야 하지만 일치하는 파일 이름 만 인쇄해야했습니다. 나는 사용했다
gawk 'FNR>10 {nextfile} /pattern/ { print FILENAME ; nextfile }' filenames
FNR..nextfile
10 개 번 라인 파일 처리를 중지 볼되었다. //..{}
에 인쇄 파일 이름 및 이동 때마다 해당 파일을 보여줍니다 최대의 첫 경기. 다른 프로그램의 이점을 위해 파일 이름을 인용하려면
gawk 'FNR>10 {nextfile} /pattern/ { print "\"" FILENAME "\"" ; nextfile }' filenames
또는 다음 awk
없이 단일 프로세스에 사용하십시오 |
.
awk '/your_regexp/ && NR < 11' INPUTFILE
각 줄에서 your_regexp
일치하는 경우 레코드 수 (줄)가 11보다 작 으면 기본 작업 (입력 줄 인쇄)을 실행합니다.
또는 사용 sed
:
sed -n '/your_regexp/p;10q' INPUTFILE
정규 표현식을 확인하고 줄을 인쇄합니다 ( -n
즉, 입력을 인쇄하지 않으면 기본값입니다) .10 번째 줄 바로 다음에 종료됩니다.
와 함께 프로그램을 사용하는 몇 가지 옵션이 있습니다 grep
. 내 생각에 가장 간단한 것은 다음을 사용하는 것입니다 head
.
head -n10 filename | grep ...
head
-n
옵션을 사용하여 처음 10 줄 을 출력 한 다음 해당 출력을로 파이프 할 수 있습니다 grep
.
grep "pattern" <(head -n 10 filename)
grep -m6 "string" cov.txt
처음 6 줄만 검색합니다. string
다음 줄을 사용할 수 있습니다.
head -n 10 /path/to/file | grep [...]
이를 위해 출력을 head -10 file
파이프로 연결할 수 있습니다 grep
.
head -10 file | grep …
펄 사용하기 :
perl -ne 'last if $. > 10; print if /pattern/' file
head -10 log.txt | grep -A 2 -B 2 pattern_to_search
-A 2
: 패턴 앞에 두 줄을 인쇄합니다.
-B 2
: 패턴 다음에 두 줄을 인쇄합니다.
head -10 log.txt # read the first 10 lines of the file.
Joachim Isaksson의 답변에 대한 확장 : 종종 긴 파일의 중간에서 무언가가 필요합니다 (예 : 5001 ~ 5020 행).이 경우 다음 head
과 결합 할 수 있습니다 tail
:
head -5020 file.txt | tail -20 | grep x
처음 5020 줄을 가져온 다음 마지막 20 줄만 표시 한 다음 모든 것을 grep으로 파이프합니다.
(편집 : 예제 번호의 펜스 포스트 오류, grep에 파이프 추가)
grep -A 10 <패턴>
패턴과 패턴 다음 10 줄을 잡습니다. 알려진 패턴이없는 경우 "헤드"제안을 사용하면 알려진 패턴에 대해서만 잘 작동합니다.
나는 비슷한 문제가 있었고 위의 모든 문제가 완전히 해결되지는 않습니다. 또한 일치하는 줄을 포함하는 파일 이름을 얻는 데 관심이 있습니다. 내 해결책 :
ls |parallel --gnu 'cat <(echo {}) <(head {})|grep -B1 -m1 -P "^>.*F3$"'
주의 사항 : 필자의 경우 패턴은 항상 첫 번째 줄과 일치합니다.
참고 URL : https://stackoverflow.com/questions/8762274/can-i-grep-only-the-first-n-lines-of-a-file
'program story' 카테고리의 다른 글
OpenSSL 및 openssl.conf 파일 읽기 오류 (0) | 2020.07.28 |
---|---|
원격 추적 분기에서 'git fetch'및 'git merge'를 어떻게 수행합니까 (예 : 'git pull') (0) | 2020.07.28 |
ConnectivityManager getNetworkInfo (int) 추천하지 않습니다 (0) | 2020.07.28 |
Retrofit 2로 빈 반응 바디를 어떻게 처리 할 수 있습니까? (0) | 2020.07.28 |
“-”대시를 사용하여 JSON 속성에 액세스 할 수 없습니다 (0) | 2020.07.28 |