Answers:
可能的解决方案
sed 's/^....-\(..\)-\(..\)/\2.\1/'
这些多个点可能并不优雅。该命令不在乎是否处理数字;不管第一个“列”中是否还有其他内容。这些问题可以通过更复杂的方法来解决,但是以当前形式,命令非常简单。
一般命令sed 's/A/B/'
替换模式A
与B
每行,最多一次。
凡A
在此情况下,包括:
^
–线标记的开头,....
–正好四个字符,-
–文字-
,(..)
–后面确切引用了两个字符\1
,-
–文字-
,(..)
–稍后用引用的正好两个字符\2
。并且B
是
\2
-在第二什么()
的A
,.
–文字.
,\1
-是第一个无论()
在A
。此外(
,)
还可以通过进行转义\
。
要处理文件,请将其添加为最后一个参数。要就地处理文件-i
,例如
sed -i 's/^....-\(..\)-\(..\)/\2.\1/' myfile.txt