Linux-shell怎样把行转为列?

Linux-shell怎样把行转为列?

浮生未歇 发布于 2017-06-28 字数 221 浏览 1297 回复 3

文本内容:如下

#vi test.txt
cts001
02:26:52
00:04:36
cts002
01:22:34
00:18:50
cts003
03:35:36
00:09:04
cts004
02:09:12
00:13:12

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

泛泛之交 2017-08-20 3 楼

 awk -v RS= 'NR==1{for(i=1;i<=NF;i+=3) h = h " " $i;print h}{v="";for(i=2;i<=NF;i+=3)v=v " " $i;print v}{v="";for(i=3;i<=NF;i+=3)v=v "
" $i;print v}' test.txt|column -t

清晨说ぺ晚安 2017-08-04 2 楼

 awk 'BEGIN{i=1;j=1}$0~/cts/{i++;j=1;a[0]=a[0]"t"$0}$0!~/cts/{a[j]=a[j]"t"$0;j++;}END{for(i in a){print a[i]}}' 1.txt

浮生未歇 2017-06-30 1 楼

我也给龙哥奉献个我写的

 awk 'BEGIN{i=0}/cts/{title=title$1"tt";i=0;next;}{a[i]=a[i]$1"t";i++;}END{print title;for(t in a)print a[t]}'