728x90
awk는 파일로부터 레코드(record)를 선택하고, 선택된 레코드에 포함된 값을 조작하거나 데이터화하는 것을 목적으로 사용하는 프로그램
가능한 기능
- 텍스트 파일의 전체 내용 출력
- 파일의 특정 필드만 출력
- 특정 필드에 문자열을 추가해서 출력
- 패턴이 포함된 레코드 출력
- 특정 필드에 연산 수행 결과 출력
- 필드 값 비교에 따라 레코드 출력
구문
awk 'pattern' filename
awk '{action}' filename
awk 'pattern {action}' filename
용례1
awk '{ print }' ./file.txt
pattern 생략.
file.txt의 모든 레코드 출력.
awk '/p/' ./file.txt
action 생략.
file.txt에서 p를 포함하는 레코드 출력.
용례2 : awk 'length($0) > 10 { print $3, $4, $5} ' ./file.txt
레코드의 길이가 10 이상인 경우, 세 번째($3), 네 번째($4), 다섯 번째($5) 필드를 출력.
용례3 : awk 'BEGIN { print "TITLE : Field value 1,2"} {print $1, $2} END {print "Finished"}' file.txt
"BEGIN"과 "END" 패턴의 사용 예제
용례4 : awk '{print "STR"$1, "STR"$2}' file.txt
필드 값에 임의 문자열을 같이 출력.
용례5 : awk '/STR/' file.txt
지정된 문자열을 포함하는 레코드만 출력
용례5 : awk '/STR/' file.txt
지정된 문자열을 포함하는 레코드만 출력.
용례6 : awk '{sum += $3} END { print sum }' file.txt
지정된 필드의 값을 더한 값 출력.
'Ubuntu > linux Command' 카테고리의 다른 글
Linux command : SSH (0) | 2021.09.05 |
---|---|
Linux Command (rsync) (0) | 2021.08.16 |
Linux System Command ( kill ) (0) | 2021.08.16 |
Linux System Command (free) (0) | 2021.08.12 |
Linux System Command (top) (0) | 2021.08.12 |