awk 예제
1. 파일에서 특정 문자열 검색
$ awk '/search_string/ {print}' filename.txt
: filename.txt 파일에서 "search_string"이라는 문자열을 검색하고, 해당 문자열이 포함된 모든 행을 출력
2. 파일에서 특정 열 추출
$ awk '{print $2}' filename.txt
: filename.txt 파일에서 두 번째 열을 출력
3. 파일에서 특정 조건에 맞는 행 추출
$ awk '$3 > 50 {print}' filename.txt
: filename.txt 파일에서 세 번째 열의 값이 50보다 큰 모든 행을 출력
4. 파일에서 특정 패턴 치환
$ awk '{gsub(/old_string/, "new_string"); print}' filename.txt
: filename.txt 파일에서 "old_string"이라는 문자열을 "new_string"으로 변경한 후, 모든 행을 출력
5. 파일에서 각 열의 합 구하기
$ awk '{sum += $3} END {print sum}' filename.txt
: filename.txt 파일에서 세 번째 열의 값을 모두 더한 후, 결과를 출력
6. 파일에서 특정 구분자로 나누기
$ awk -F"," '{print $1, $2}' filename.txt
: filename.txt 파일에서 쉼표로 구분된 첫 번째 열과 두 번째 열을 출력
7. 파일에서 중복 제거하기
$ awk '!a[$0]++' filename.txt
: filename.txt 파일에서 중복된 행을 제거한 후, 결과를 출력
8. 파일에서 특정 문자열을 가진 행 삭제하기
$ awk '!/search_string/' filename.txt
: filename.txt 파일에서 "search_string"이라는 문자열을 포함하는 모든 행을 삭제한 후, 결과를 출력
9. 파일에서 특정 패턴을 가진 행 추출하기
$ awk '/search_pattern/ {print}' filename.txt
: filename.txt 파일에서 "search_pattern"이라는 패턴을 포함하는 모든 행을 출력
10. 파일에서 특정 범위의 행 추출하기
$ awk 'NR>=start && NR<=end {print}' filename.txt
: filename.txt 파일에서 start 행부터 end 행까지의 모든 행을 출력
11. 파일에서 열의 평균 구하기
$ awk '{sum += $2} END {print sum/NR}' filename.txt
: filename.txt 파일에서 두 번째 열의 값을 모두 더한 후, 평균 값을 출력
12. 파일에서 특정 문자열이 포함된 열 추출하기
$ awk '{for(i=1;i<=NF;i++) {if ($i ~ /search_string/) print $i}}' filename.txt
: filename.txt 파일에서 "search_string"이라는 문자열을 포함한 모든 열을 출력
13. 파일에서 특정 패턴으로 시작하는 행 추출하기
$ awk '/^search_pattern/ {print}' filename.txt
: filename.txt 파일에서 "search_pattern"이라는 패턴으로 시작하는 모든 행을 출력
14. 파일에서 특정 열을 기준으로 정렬하기
$ awk '{print $2, $1}' filename.txt | sort
: filename.txt 파일에서 두 번째 열을 첫 번째 열 앞에 놓고, 정렬한 후 결과를 출력
15. 파일에서 특정 열의 최댓값 구하기
$ awk 'NR==1 {max=$2} $2>max {max=$2} END {print max}' filename.txt
: filename.txt 파일에서 두 번째 열의 최댓값을 출력
16. 파일에서 특정 열을 기준으로 그룹핑하여 합 구하기
$ awk '{sum[$1] += $2} END {for (i in sum) print i, sum[i]}' filename.txt
: filename.txt 파일에서 첫 번째 열을 기준으로 그룹핑하여 두 번째 열의 값을 합한 결과를 출력
17. 파일에서 특정 패턴을 가진 행의 열값 추출하기
$ awk '/search_pattern/ {for(i=1;i<=NF;i++) {if ($i ~ /pattern/) print $i}}' filename.txt
: filename.txt 파일에서 "search_pattern"이라는 패턴을 포함하는 모든 행에서 "pattern"이라는 패턴을 포함한 열을 출력
18. 파일에서 중복을 제외한 특정 열 추출하기
$ awk '!seen[$1]++ {print $1}' filename.txt
: filename.txt 파일에서 중복을 제외한 첫 번째 열의 값을 출력
19. 파일에서 특정 열 값을 기준으로 정렬하기
$ awk '{print $2, $1}' filename.txt | sort -n
: filename.txt 파일에서 두 번째 열을 첫 번째 열 앞에 놓고, 숫자 순으로 정렬한 후 결과를 출력
20. 파일에서 특정 열의 값이 특정 범위에 있는 행 추출하기
$ awk '$2 > 50 && $2 < 100 {print}' filename.txt
: filename.txt 파일에서 두 번째 열의 값이 50보다 크고 100보다 작은 모든 행을 출력
'IT > linux' 카테고리의 다른 글
valgrind, linux memory leak detection (0) | 2023.03.21 |
---|---|
man 명령어 주요 옵션 / option -f, -k, -K, -w (0) | 2022.09.20 |
mplayer / slave mode, idle, standalone, pipe, command, cache (0) | 2022.09.09 |
Bogomips 개요, 측정 방법 (0) | 2022.09.09 |
바이너리 동적 라이브러리 링크 확인, Dynamic linker (1) | 2022.09.07 |
댓글