pt remove dígitos do fim do stirng

0

remover dígitos do final da string, exemplo de entrada:

example123
example321
example0123

resultado esperado:

example
example
example

Eu tentei o abaixo que não funcionou:

sed 's/[0-9]\+$//' <in.txt >out.txt 

O que devo fazer?

    
por Uni VPS 20.03.2018 / 15:27

4 respostas

1

O resultado de:

$ sed 's/[0-9]\+$//' <in.txt

é:

example
example
example

O comando que você executou ( sed 's/[0-9]\+$//' <in.txt >out.txt ) direcionará a saída para o arquivo out.txt

A execução de cat out.txt fornecerá os resultados que você está procurando.

    
por 20.03.2018 / 15:32
1

\+ funcionará no GNU sed, não tendo certeza sobre outras implementações. Tente isto

$ sed 's/[0-9]*$//' ip.txt 
example
example
example

$ # or if ERE option is available
$ sed -E 's/[0-9]+$//' ip.txt 
example
example
example
    
por 20.03.2018 / 16:23
0

Possivelmente você tem espaço em branco depois de algum texto. Você não precisa do $ e removê-lo resolverá o problema:

sed 's/[0-9]\+//' <in.txt >out.txt
    
por 20.03.2018 / 15:33
0

Se você quiser aplicar as alterações diretamente no arquivo de entrada, para não precisar gravar outro arquivo, use o sinalizador '-i':

sed -i -r 's/[0-9]+$//' in.txt
    
por 20.03.2018 / 23:36

Tags