열 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으로 표시됩니다 . 전체 행은 로 지정됩니다 . 따라서 예는 다음과 같습니다. 열 2가 2와 같으면 전체 행을 인쇄합니다.$$1$2$0

편집: devnull이 말했듯이:

gawk '$2==2' inputfile 

충분한. 두 번째 열에 2가 있고 마지막 사용에 4가 있는 행을 인쇄하려면 $NF(즉, 마지막 열) 필드 수를 나타냅니다.

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

관련 정보