열 2에 값이 있으면 행을 인쇄하는 쉘 스크립트

열 2에 값이 있으면 행을 인쇄하는 쉘 스크립트
1 2 3 4
3 1 4 2
1 4 3 2
4 2 1 3

다음이 있는 모든 행을 어떻게 인쇄합니까?2두 번째 열에.

답변1

awk(또는 그 사촌 )을 사용하여 gawk:

gawk '$2==2 {print $0}' inputfile

열에 awk는 로 표시되며 $, $1첫 번째 열, $2두 번째 등이 있습니다. 전체 줄은 로 표시됩니다 $0. 따라서 이 예는 다음과 같습니다. 열 2가 2와 같으면 전체 줄을 인쇄합니다.

편집: devnull이 아래에 말했듯이:

gawk '$2==2' inputfile 

충분하다. 두 번째 열에 2가 있고 마지막 사용에 4가 있는 줄을 인쇄하려면( $NF필드 수(즉, 마지막 열)):

gawk '$2==2 && $NF==4'  inputfile

관련 정보