Erro ao substituir data em um arquivo usando o comando tr

0

Quero substituir a data em um arquivo pela minha data. Para isso, eu estou dando abaixo o comando -

tr '2016-05-25' '2016-06-17' < APCSE060.20160525 > TESTFILE

alternativamente

cat APCSE060.20160525 | tr '2016-05-25' '2016-06-17'  > TESTFILE

em ambos os comandos, recebi um erro abaixo -

tr: 0653-716 Character range endpoints out of order.
    
por Tarun 17.06.2016 / 11:47

1 resposta

2

tr é um comando que faz uma tradução de caractere por caractere. por exemplo, o seguinte comando irá alterar o caractere e para um E

$ echo hello | tr 'e' 'E'
hEllo

Quando você usa 2016-05-25 , está informando ao comando tr para alternar os caracteres 2 e 0 e 1 e o intervalo 6-0 ... que é onde fica confuso.

O comando que você realmente quer usar é sed:

$ sed 's/2016-05-25/2016-06-17' < SRCFILE > NEWFILE
    
por 17.06.2016 / 13:06

Tags