awk
텍스트 처리
쓰는 꼴
awk '{print $1}' [file]줄을 칸으로 쪼개어 작은 프로그램을 돌립니다. $0은 줄 전체, $1이 첫 칸이고, 기본 구분자는 빈칸 하나가 아니라 연이은 공백입니다.
자주 쓰는 옵션
| 옵션 | 뜻 |
|---|---|
| -F | Set the field separator, as in -F, |
| -v | Pass a shell value in as an awk variable |
| -f | Read the program from a file |
| $0 | The whole line; $1 is the first field, NF the field count |
예시
awk -F, '{print $2}' data.csvSecond column of a comma-separated file.
awk '$3 > 100' access.logOnly the rows whose third field exceeds 100.
awk '{s+=$1} END {print s}' nums.txtAdds up the first column.
파이프로 이어 쓰는 것이 본래 용도입니다. 한 명령이 다 하는 것보다 셋을 잇는 편이 짧습니다.
읽는 방법
- 대괄호 [ ]는 넣어도 되고 안 넣어도 되는 자리입니다.
- 점 셋 …은 여러 개를 이어 쓸 수 있다는 뜻입니다.
- 옵션은 대소문자를 가립니다 — -r과 -R이 다른 명령도 있습니다.
자주 묻는 것
Q. awk은 무엇을 하나요?
줄을 칸으로 쪼개어 작은 프로그램을 돌립니다. $0은 줄 전체, $1이 첫 칸이고, 기본 구분자는 빈칸 하나가 아니라 연이은 공백입니다.
Q. 어떻게 치나요?
awk '{print $1}' [file] — 대괄호는 생략할 수 있는 자리입니다.
Q. 옵션은 몇 개나 자주 쓰나요?
여기 정리한 것은 4개입니다. 전체 목록은 man awk에 있습니다. 이 명령은 텍스트 처리 갈래입니다.
같이 보는 명령
man 페이지: man awk