이 명령줄에서 sed 's/5//g'는 무엇을 의미합니까?

이 명령줄에서 sed 's/5//g'는 무엇을 의미합니까?

이것은 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%)에 영향을 주지 않습니다.

관련 정보