![열 2에 값이 있는 경우 행을 인쇄하는 쉘 스크립트](https://linux55.com/image/50951/%EC%97%B4%202%EC%97%90%20%EA%B0%92%EC%9D%B4%20%EC%9E%88%EB%8A%94%20%EA%B2%BD%EC%9A%B0%20%ED%96%89%EC%9D%84%20%EC%9D%B8%EC%87%84%ED%95%98%EB%8A%94%20%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8.png)
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