Isso deve ser feito:
sed 's/%//'
Canalize sua seqüência de caracteres para obter os melhores resultados.
Eu tenho um script bash onde eu recebo o uso do disco, por exemplo 60%
. Como posso remover o símbolo %
? Usando grep ou awk?
Em vez de sed, use tr.
tr -d '%'
Não há necessidade de ferramentas externas como tr
ou mesmo sed
, pois o bash pode fazer isso sozinho desde sempre.
percentage="60%"
number=${percentage%\%}
Esta instrução remove a substring de correspondência mais curta (nesse caso, um escape %
) do final da variável. Existem outras facilidades de manipulação de strings embutidas no bash. Até suporta expressões regulares. Geralmente, a maioria das coisas que você normalmente vê pessoas usando tr
, sed
, awk
ou grep
pode ser feita usando um bash builtin. É quase ninguém sabe disso e traz as grandes armas ...
Consulte o link para obter mais informações.
sed é uma das maneiras mais fáceis
sed -i 's/\%//g' fileName
Se o uso do disco estiver em uma variável, o bash pode fazer a remoção como parte de uma substituição de variável:
diskusagepct="60%"
echo "disk usage: ${diskusagepct%\%} percent" # prints disk usage: 60 percent
diskusagenum="${diskusagepct%\%}" # sets diskusagenum to 60