두 필드 구분 기호 (콜론 및 공백) 중 하나가 공백 일 때 awk 명령에서 두 필드 구분 기호를 어떻게 지정할 수 있습니까? awk에 포함 된 if-else 조건을 사용하여 수행 할 수 있다고 생각하지만 정확한 명령은 확실하지 않습니다.
샘플 파일은 다음과 같습니다.
cat test.txt Swapnil Engineer 20000 Avinash:Doctor:30000 Dattu GovntJob 50000 Amol:Master:10000
두 번째 열 ($ 2)을 인쇄하고 싶습니다. 예상 출력은 다음과 같습니다.
Engineer Doctor GovntJob Master
필드 구분자로 공백과 콜론을 모두 넣으려고 할 때 구문 오류로 인해 실패했습니다.
awk -F[ :] "{print $2}" test.txt awk: cmd. line:1: :] awk: cmd. line:1: ^ syntax error
두 개의 필드 구분 기호를 사용하고 awk 기능을 활용하려면 어떻게해야합니까?
댓글
답변
올바른 길을 가고 있습니다.
:
awk -F"[ :]" "{print $2}" test.txt Engineer Doctor GovntJob Master
-F[ :]
(하나 arg)-F[:
및]
가 있습니다. 이 차트 는 매우 편리합니다 (작은 따옴표 / 큰 따옴표에 대한 세로 화살표 참고).