Date sed:转换日期格式

Date sed:转换日期格式,date,sed,substitution,Date,Sed,Substitution,对sed来说是相当新的。我正在尝试编写一个sed命令,将日期转换为相反的日期,但如果日期是其他单词的一部分,则不能这样做 到目前为止,我已经: sed 's/[0-9]\{1\}/[0-9]\{1\}/[0-9]\{4\}/SUBSTITUTE/g' 试图找出替代部分。谢谢大家! 您需要使用单词边界 sed 's~\b\([0-9]\{2\}\)/\([0-9]\{2\}\)/\([0-9]\{4\}\)\b~\3/\2/\1~g' file 示例: $ echo '04/13/1991he

对sed来说是相当新的。我正在尝试编写一个sed命令,将日期转换为相反的日期,但如果日期是其他单词的一部分,则不能这样做

到目前为止,我已经:

sed 's/[0-9]\{1\}/[0-9]\{1\}/[0-9]\{4\}/SUBSTITUTE/g'

试图找出替代部分。谢谢大家!

您需要使用单词边界

sed 's~\b\([0-9]\{2\}\)/\([0-9]\{2\}\)/\([0-9]\{4\}\)\b~\3/\2/\1~g' file
示例:

$ echo '04/13/1991hello' | sed 's~\b\([0-9]\{2\}\)/\([0-9]\{2\}\)/\([0-9]\{4\}\)\b~\3/\1/\2~g'
04/13/1991hello
$ echo '02/03/2001' | sed 's~\b\([0-9]\{2\}\)/\([0-9]\{2\}\)/\([0-9]\{4\}\)\b~\3/\2/\1~g'
2001/03/02

谢谢,就是这样!我认为您错误地将日期从MM/DD/YYYY格式指定为YYYY/MM/DD