您好,我尝试仅在.csv文件的第一列中更改日期格式 来自:
2015-03-31 | base | 2015-03-31 | 100 | 0 | 3.225 | 3.225 | 0 | 0 | 0 | 2015-03-31
2015-03-31 | base | 2015-03-31 | 100 | 0 | 3.225 | 3.225 | 0 | 0 | 0 | 2015-03-31
2015-03-31 | base | 2015-03-31 | 100 | 0 | 3.225 | 3.225 | 0 | 0 | 0 | 2015-03-31
2015-03-31 | base | 2015-03-31 | 100 | 0 | 3.225 | 3.225 | 0 | 0 | 0 | 2015-03-31
2015-03-31 | base | 2015-03-31 | 100 | 0 | 3.475 | 3.475 | 0 | 0 | 0 | 2015-03-31
2015-03-31 | base | 2015-03-31 | 100 | 0 | 3.475 | 3.475 | 0 | 0 | 0 | 2015-03-31
2015-03-31 | base | 2015-03-31 | 100 | 0 | 3.475 | 3.475 | 0 | 0 | 0 | 2015-03-31
2015-03-31 | base | 2015-03-31 | 100 | 0 | 3.475 | 3.475 | 0 | 0 | 0 | 2015-03-31
2015-03-31 | base | 2015-03-31 | 100 | 0 | 3.475 | 3.475 | 0 | 0 | 0 | 2015-03-31
收件人:
03/31/2015 | base | 2015-03-31 | 100 | 0 | 3.225 | 3.225 | 0 | 0 | 0 | 2015-03-31
2015/03/31 | base | 2015-03-31 | 100 | 0 | 3.225 | 3.225 | 0 | 0 | 0 | 2015-03-31
2015/03/31 | base | 2015-03-31 | 100 | 0 | 3.225 | 3.225 | 0 | 0 | 0 | 2015-03-31
2015/03/31 | base | 2015-03-31 | 100 | 0 | 3.225 | 3.225 | 0 | 0 | 0 | 2015-03-31
2015/03/31 | base | 2015-03-31 | 100 | 0 | 3.475 | 3.475 | 0 | 0 | 0 | 2015-03-31
2015/03/31 | base | 2015-03-31 | 100 | 0 | 3.475 | 3.475 | 0 | 0 | 0 | 2015-03-31
2015/03/31 | base | 2015-03-31 | 100 | 0 | 3.475 | 3.475 | 0 | 0 | 0 | 2015-03-31
2015/03/31 | base | 2015-03-31 | 100 | 0 | 3.475 | 3.475 | 0 | 0 | 0 | 2015-03-31
03/31/2015 | base | 2015-03-31 | 100 | 0 | 3.475 | 3.475 | 0 | 0 | 0 | 2015-03-31
我尝试使用sed:
sed 's/^\(....\-\)\(..\-\)(..|\)/\2\1\3/'
和
sed -re 's/^([0-9][0-9])\-([0-9][0-9])\-[0-9][0-9][0-9][0-9](.*)$/\2\/\1\/\3\4/'
但是它抛出一个错误。
答案 0 :(得分:0)
您的两次尝试都非常接近。命令:
sed 's/\(....\)-\(..\)-\(..\)/\2\/\3\/\1/'
应该工作。可以通过用.
替换每个点[0-9]
并添加首字母^
来实现防弹。
删除11个反斜杠中的8个的变体是:
sed -r 's_(....)-(..)-(..)_\2/\3/\1_'
下划线_
可以用其他字符代替。