awk
: 입력 데이터를 선택 및 가공하여 출력하는 명령어
df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 1.5G 8.7M 1.5G 1% /run
/dev/mapper/rl-root 48G 1.1G 44G 3% /
/dev/sda1 920M 173M 684M 21% /boot
/dev/mapper/hk-openstack2 974M 24K 907M 1% /test/openstack2
/dev/sda3 952M 7.0M 945M 1% /boot/efi
/dev/mapper/hk-openstack 12G 120M 12G 1% /test/openstack
tmpfs 768M 0 768M 0% /run/user/0
df -h 명령어를 통해 출력 내용이 있다.
각 라인을 레코드라 하며, 공백을 기준으로 각 필드로 이루어져 있다.
명령어
첫 번째 필드 출력
df -h | awk '{ print $1 }'
Filesystem
devtmpfs
tmpfs
tmpfs
/dev/mapper/rl-root
/dev/sda1
/dev/mapper/hk-openstack2
/dev/sda3
/dev/mapper/hk-openstack
tmpfs
마지막 필드 출력
df -h | awk '{ print $NF }'
on
/dev
/dev/shm
/run
/
/boot
/test/openstack2
/boot/efi
/test/openstack
/run/user/0
마지막에서 두 번째 필드 출력
df -h | awk '{ print $(NF-1) }'
Mounted
0%
0%
1%
3%
21%
1%
1%
1%
0%
특정 문자열 포함하는 레코드만 출력
df -h | awk '/sd/'
/dev/sda1 920M 173M 684M 21% /boot
/dev/sda3 952M 7.0M 945M 1% /boot/efi
특정 필드 합 구하기
df -h | grep -v Filesystem | grep -v tmpfs
/dev/mapper/rl-root 48G 1.1G 44G 3% /
/dev/sda1 920M 173M 684M 21% /boot
/dev/mapper/hk-openstack2 974M 24K 907M 1% /test/openstack2
/dev/sda3 952M 7.0M 945M 1% /boot/efi
/dev/mapper/hk-openstack 12G 120M 12G 1% /test/openstack
df -h | grep -v Filesystem | grep -v tmpfs | awk '{sum += $5} END { print sum }'
27
필드 구분 문자 변경
df -h | grep -v Filesystem | grep -v tmpfs | awk -F '/' '{ print $2 }'
dev
dev
dev
dev
dev
'시리즈 > Linux 기초 다지기 2023 (개편 예정) - 시리즈' 카테고리의 다른 글
리눅스 기초 다지기 - 39. Character Set 변경 (0) | 2025.03.14 |
---|---|
리눅스 기초 다지기 - 커맨드 익숙해지기 (echo, source, curl) (0) | 2025.03.13 |
리눅스 기초 다지기 - 37. sed (0) | 2025.03.13 |
리눅스 기초 다지기 - 36. editor (vi, nano) (0) | 2025.03.13 |
리눅스 기초 다지기 - 35. 표준 파일 디스크립터 (0) | 2025.03.13 |