반응형
부제: 공백·구분자로 나눈 열을 뽑고, 조건으로 거르고, 합계까지 내기
awk '{print $1}' app.log # 1번째 필드 (공백 기준)
awk -F, '{print $2}' users.csv # 콤마 구분, 2번째 필드
awk '$3=="ERROR"{print $1,$2}' # 조건에 맞는 줄만
$ awk '$3=="ERROR"{print $1, $2, $3}' app.log
2026-07-08 10:00:03 ERROR
2026-07-08 10:00:07 ERRORawk는 줄을 필드($1, $2…)로 나눠 다룬다. -F로 구분자를 바꾸고,조건{동작}으로 거르고, END{}로 집계한다. cut보다 조건·계산이 필요할 때 쓴다.
이렇게도 쓴다
로그 레벨별 건수를 집계한다(END 블록).
awk '{c[$3]++} END{for(k in c) print c[k], k}' app.log
각 줄의 마지막 필드만 뽑는다($NF).
awk '{print $NF}' app.log
CSV 특정 열의 합계를 낸다(헤더 제외).
awk -F, 'NR>1{sum+=$2} END{print sum}' nums.csv
헤더 한 줄을 빼고 본다(NR은 줄 번호).
awk 'NR>1' users.csv
조건 필터와 열 추출을 한 번에 한다(grep + cut 대체).
awk -F, '$3=="id"{print $1}' users.csv반응형
'명령어 > Linux' 카테고리의 다른 글
| [리눅스] find 파일 찾기 이름 크기 수정시간 (0) | 2026.07.09 |
|---|---|
| [리눅스] tee 화면 출력 파일 저장 동시에 (0) | 2026.07.09 |
| [리눅스] sed 문자열 치환 파일 편집 줄 삭제 (0) | 2026.07.09 |
| [리눅스] tr 문자 치환 삭제 대소문자 변환 (0) | 2026.07.09 |
| [리눅스] cut 열 필드 잘라내기 구분자 (0) | 2026.07.09 |