使用 tr 命令替换文件中的日期时出错

使用 tr 命令替换文件中的日期时出错

我想用我的日期替换文件中的日期。为此,我给出以下命令 -

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

或者

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

在这两个命令中我都收到以下错误 -

tr: 0653-716 Character range endpoints out of order.

答案1

tr是一个执行逐个字符翻译的命令。例如,以下命令会将字符更改eE

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

当你使用时,你2016-05-25告诉tr命令切换字符201范围 6-0...这就是令人困惑的地方。

您真正想要使用的命令是 sed:

$ sed 's/2016-05-25/2016-06-17' < SRCFILE > NEWFILE

相关内容