首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Linux中如何在列中换行

在Linux中如何在列中换行
EN

Stack Overflow用户
提问于 2019-06-27 01:58:27
回答 2查看 442关注 0票数 2

我有一个逗号分隔的文件,我正在使用printf格式化它以创建2列。我使用awk将内容分组到类似的组中,这样我就可以将它们打印到格式良好的列中。

格式化是有效的,但是数组的内容换行到新行上,而不是在列本身内换行。

输入文件示例:

代码语言:javascript
复制
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`

使用的命令:

代码语言:javascript
复制
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

结果如下(模拟示例):

代码语言:javascript
复制
COLUMN1     COLUMN2
========     =======
1            test1
2            test2, test2, test2, test2, test2, test2,test2, test2, test2,test2, test2, test2, test2, test2

我如何包装第二列(如果它太长,甚至第一列也是如此),以便它适合它的框架?

代码语言:javascript
复制
COLUMN1     COLUMN2
========     =======
1            test1
2            test2, test2, test2, test2, test2, test2,test2, test2, 
             test2,test2, test2, test2, test2, test2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56778612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档