선 밖에 선 자유인

awk 에서 NR과 if를 이용한 특정 line 출력 본문

IT/Programming

awk 에서 NR과 if를 이용한 특정 line 출력

Hotman 2016. 6. 15. 17:32
아래의 파일에서 xxx가 포함된 첫째 줄만 출력 하려고 하는 경우 예) # cat test.txt aaa xxx bbb xxx grep "xxx" | awk '{print $2}' 의 결과로 xxx가 포함된 결과는 두 줄이 출력됨 if와 NR (현재 레코드 행 번호를 나타내는 내부 미리 정의된 변수) 를 이용하여 아래와 같이 작성
grep "xxx" test.txt | awk '{ if (NR==1) print $2 }'

or 

grep "xxx" test.txt | awk '{ if ($1=="aaa") print $2 }'
# 마지막 컬럼 출력
awk -F "<패턴>" '{print $NR}' <파일>
Comments