将单行数据(dat文件)拆分为多列

时间:2016-08-04 09:47:34

标签: linux

我想将一行数据拆分为多个列,例如

a.dat
A B C D E F G H I J K L M N O P Q R S T U

b.dat
A B C D E F G
H I J K L M N
O P Q R S T U

我尝试过使用pr功能

pr -ts" " --columns 7 --across a.dat > b.dat

但它不起作用,b.dat与a.dat

相同

1 个答案:

答案 0 :(得分:2)

我喜欢fold这些东西:

$ fold -w 14 file
A B C D E F G 
H I J K L M N 
O P Q R S T U

使用-w设置您希望拥有的宽度。

如果您想根据字段数而不是字符进行拆分,xargs会更有用:

$ xargs -n 7 < file
A B C D E F G
H I J K L M N
O P Q R S T U

关于你在pr中的尝试:我真的不知道为什么它不起作用,虽然从some examples I see它看起来不像是这种工作的工具。