1.7 KiB
1.7 KiB
awk
파일 처리를 위한 다목적 프로그래밍 언어. 참고: AWK의 다양한 구현체에선 이 명령이 해당 구현체 바이너리에 대한 심볼릭 링크로 제공되는 경우가 많음. 관련 항목:
gawk. 더 많은 정보: https://github.com/onetrueawk/awk.
- 공백으로 구분 된 파일의 다섯 번째 열(필드)를 출력하기:
awk '{print $5}' {{경로/대상/파일}}
- 공백으로 구분 된 파일에서
foo을 포함한 두 번째 열 출력하기:
awk '/{{foo}}/ {print $2}' {{경로/대상/파일}}
- 공백이 아닌 쉼표를 필드 구분자로 사용해, 파일 각 줄에서 마지막 열을 출력하기:
awk -F ',' '{print $NF}' {{경로/대상/파일}}
- 첫 번째 열에 있는 값을 더하고 값들을 출력하고 합계를 출력:
awk '{s+=$1} END {print s}' {{경로/대상/파일}}
- 첫 번째 줄부터 시작하여 세 번째 줄까지 모두 출력:
awk 'NR%3==1' {{경로/대상/파일}}
- 조건에 따라 서로 다른 값을 출력:
awk '{if ($1 == "foo") print "Exact match foo"; else if ($1 ~ "bar") print "Partial match bar"; else print "Baz"}' {{경로/대상/파일}}
- 10번째 열 값이 지정한 최소값과 최대값 사이에 있는 줄을 모두 출력:
awk '($10 >= {{최소_값}} && $10 <= {{최대_값}})' {{경로/대상/파일}}
- 콜론을 구분자로 사용하여, UID가 1000 이상인 사용자 목록을 헤더와 함께 형식화된 표 형태로 출력 (
%-20s: 20칸 왼쪽 정렬 문자열,%6s: 6칸 오른쪽 정렬 문자열):
awk 'BEGIN {FS=":";printf "%-20s %6s %25s\n", "Name", "UID", "Shell"} $4 >= 1000 {printf "%-20s %6d %25s\n", $1, $4, $7}' /etc/passwd