grep -v
remove qualquer linha que corresponda ao dada string; Portanto, no seu caso, qualquer linha contendo "%" é excluída em sua totalidade.
Para remover apenas o caractere, use tr
:
df -h / | tr -d %
Estou escrevendo um script simples para monitorar o espaço em disco na partição / e quero apenas números na minha saída.
tabbi@tabbi:~/scripts$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 234G 7,6G 214G 4% /
Digamos que eu queira remover o% da coluna "Usar" (ou removê-lo em todos os lugares); quando eu uso df -h / | grep -v '%'
nada é impresso.
Como posso excluir o símbolo% da minha saída?
Você pode obter o uso do diretório /, sem "%", com awk
. Basicamente, o awk
no seguinte comando:
exibe o campo fifth (print $ 5).
df -h / | awk ' END { gsub("%",""); print $5 } '
Executando:
$ df -h / | awk ' END { gsub("%",""); print $5 } '
4
Ou para obter todos os números:
$ df -h / | awk ' END { gsub("%",""); gsub("G",""); print $2" "$3" "$4" "$5 } '
234 7,6 214 4
Tags disk-usage grep