O que sed 's/5//g' significa nesta linha de comando?

O que sed 's/5//g' significa nesta linha de comando?

Aqui está a saída 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

Então, ao executar o comando a seguir, ele dizia 18%.

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

18%

A questão é que se eu mudar para a parte sed 's/5//g', o resultado 18% ainda sairá.

Responder1

sed 's/5//g'aqui muito provavelmente significa que uma pessoa que digitou toda a linha de comando pretendia retirar o sinal de porcentagem da saída, mas perdeu o Shifte obteve 5em vez de %.

Na sua forma atual, ele instrui seda remover 5da saída, o que não faz sentido.

Responder2

grep - greps para a primeira linha (contém /)

awk - imprime a 5ª coluna (18%)

sed - substitui 5 por nada - não tem efeito na string acima (18%), pois não contém 5.

informação relacionada