AWK를 사용하여 여러 줄 추출 [닫기]

AWK를 사용하여 여러 줄 추출 [닫기]

예를 들어 여러 행과 열이 포함된 파일이 있는 경우 특정 행과 열을 추출할 수 있나요?

예를 들어

1 4/8/2016 4/7/2016 4/6/2016
2 john_doe jane_doe sarah_test
3 26 45 20
4 4/8/2015 6/8/2016 8/26/2016
5 5:15 2:30 6:00

원하는 출력

1 4/8/2016 4/7/2016 4/6/2016
2 john_doe jane_doe sarah_test
4 4/8/2015 6/8/2016 8/26/2016

답변1

예,특정 행과 열을 꺼낼 수 있습니다.

이것은 귀하가 질문한 정확한 답변에 대한 결론입니다.


그러나 몇 가지 일반적인 조언을 드리고자 합니다.

awk간단한 조건-작업 모델을 기반으로 구축되었습니다.

조건을 제공한 다음 해당 조건과 일치하는 작업을 제공합니다.

조건이 "세 번째 행"이고 작업이 "행의 처음 두 필드 인쇄"라고 가정합니다. 이것은 다음과 같습니다:

awk 'NR==3 {print $1, $2}'

조건이 "라인에 문자 'a'가 포함되어 있음"이고 작업이 "전체 라인 인쇄"라고 가정합니다.

awk '/a/ {print}'

전체 줄을 인쇄하는 것은 일반적인 작업이므로 기본값은 다음과 같습니다.

awk '/a/'

조건이 "각 행"이고 작업이 "두 번째 필드 인쇄"라고 가정합니다. 조건을 생략할 수 있습니다.

awk '{print $2}'

자세한 내용은,올바른 튜토리얼을 읽어보세요.

답변2

awk '$2 ~ /^[abd]$/ { print $2, $3, $4 }'

a두 번째 필드가 , b또는 인 행의 경우 d두 번째, 세 번째 및 네 번째 필드를 인쇄합니다.

선택 기준을 전혀 지정하지 않으셔서 제공해주신 입력과 출력의 차이를 토대로 추측을 해야 했습니다.

관련 정보