
Estou mexendo nisso há um tempo e não consigo entender. O que estou tentando fazer é substituir todos os números de um arquivo por um único #.
Parece simples, e deveria ser, mas não consigo entender. Qualquer ajuda seria apreciada.
O que tenho até agora (mas não funciona) é:
echo "fdsafdsa 32432 dsafdas" | sed 's/[0-9]+/#/g'
A saída que espero é:
fdsafdsa # dsafdas
Mas sed me dá a mesma string sem nada substituído.
Alguma pista?
Responder1
Você não precisa do +
. Basta usar o seguinte:
echo "fdsafdsa 32432 dsafdas" | sed 's/[0-9]/#/g'
[0-9]
já corresponderá a todos os dígitos e substituirá cada um por #
.
Como +
é uma sintaxe estendida, você também pode fazer:
echo "fdsafdsa 32432 dsafdas" | sed -E 's/[0-9]+/#/g'
para substituir todo o bloco de dígitos porum #
.