다음은 df -h의 출력입니다.
[root@ip-10-0-7-225 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 8.0G 1.5G 6.6G 18% /
devtmpfs 478M 0 478M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 13M 484M 3% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
tmpfs 100M 0 100M 0% /run/user/1000
따라서 다음 명령을 실행하면 18%라고 표시됩니다.
[root@ip-10-0-7-225 ~]# df / | grep / | awk '{ print $5}'| sed 's/5//g'
18%
요점은 sed 's/5//g' 부분으로 변경해도 여전히 18%라는 결과가 나왔다는 것입니다. 어떻게 되나요?
답변1
sed 's/5//g'
여기서는 이 전체 명령줄을 입력하는 사람이 출력에서 퍼센트 기호를 제거하려고 했으나 대신 Shift및 를 놓쳤음을 의미할 가능성이 높습니다 .5
%
현재 형식에서는 출력에서 sed
제거하도록 지시하는데 이는 의미가 없습니다.5
답변2
grep - 첫 번째 줄에 대한 grep(/ 포함)
awk - 5번째 열을 인쇄합니다(18%).
sed - 5를 아무것도 대체하지 않습니다. - 5가 포함되어 있지 않으므로 위의 문자열(18%)에 아무런 영향을 미치지 않습니다.