我有一个'。GS3的文件有多行,像这样:
0123456789 aaa.aaa3456
我想这样分开:
01234;56789 ;aaa.aaa;3456
我知道这行每一部分的开始和结束。考虑到多条线,是否有可能做到这一点?例如:
0123456789 aaa.aaa3456
aaaaabbbbbbbxxxxxxxwwww
到
01234;56789 ;aaa.aaa;3456
aaaaa;bbbbbbb;xxxxxxx;wwww
…但如果它有固定长度,你可以这样做:
$ sed -r 's/^(.{5})(.{7})(.{7})(.{4})$/1;2;3;4/' test.txt
01234;56789 ;aaa.aaa;3456
aaaaa;bbbbbbb;xxxxxxx;wwww
我认为.{5}
是不言而喻的。由于-r
选项的存在,第一组(.{5})
可以被1
引用。这是一个由(
和)
组成的组。
字符^
和$
表示文件test.txt中每行的开始和结束。