我有一个逗号分隔的文件,我正在使用printf格式化它以创建2列。我使用awk将内容分组到类似的组中,这样我就可以将它们打印到格式良好的列中。
格式化是有效的,但是数组的内容换行到新行上,而不是在列本身内换行。
输入文件示例:
1,test,test1,test1
2,test,test1,test2
2,test,test1,test2
2,test,test1,test2
2,test,test1,test2
2,test,test1,test2
2,test,test1,test2
2,test,test1,test2
2,test,test1,test2
2,test,test1,test2
2,test,test1,test2
2,test,test1,test2
2,test,test1,test2`
使用的命令:
awk -F"," 'NR>1 {a[$3]=a[$3] ? a[$3]", "$4" ("$2")" : $4" ("$2")"}
END {for (i in a) {print i":"a[i]}}' test.dat |
sort |
awk -F":" 'BEGIN { printf "%-15s %-10s\n", "COLUMN1","COLUMN2"; printf "%-15s %-10s\n", "-----------","----------"}
{ printf "%-15s %-10s\n", $1,$2}'
我也知道并尝试过使用column -t -s","
和pr
结果如下(模拟示例):
COLUMN1 COLUMN2
======== =======
1 test1
2 test2, test2, test2, test2, test2, test2,test2, test2, test2,test2, test2, test2, test2, test2
我如何包装第二列(如果它太长,甚至第一列也是如此),以便它适合它的框架?
COLUMN1 COLUMN2
======== =======
1 test1
2 test2, test2, test2, test2, test2, test2,test2, test2,
test2,test2, test2, test2, test2, test2
https://stackoverflow.com/questions/56778612
复制相似问题