¿Qué significa sed 's/5//g' en esta línea de comando?

¿Qué significa sed 's/5//g' en esta línea de comando?

Aquí está el resultado de 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

Entonces, al ejecutar el siguiente comando, decía 18%.

[root@ip-10-0-7-225 ~]# df / | grep / | awk '{ print $5}'| sed 's/5//g'

18%

El punto es que si cambio a la parte sed 's/5//g', el resultado sigue siendo 18%. ¿Cómo es eso?

Respuesta1

sed 's/5//g'aquí muy probablemente significa que una persona que escribió toda esta línea de comando tenía la intención de eliminar el signo de porcentaje de la salida, pero omitió Shifty obtuvo 5en lugar de %.

En su forma actual indica sedque se elimine 5de la salida, lo cual no tiene sentido.

Respuesta2

grep - greps para la primera línea (contiene /)

awk: imprime la quinta columna (18%)

sed: sustituye 5 por nada; no tiene ningún efecto en la cadena anterior (18%) ya que no contiene un 5.

información relacionada