Chinaunix

标题: bash处理多行转成多列的文本 [打印本页]

作者: bobower    时间: 2019-02-22 15:27
标题: bash处理多行转成多列的文本
大家好,本人有个需求想请大神帮忙看下,需求如下:
一个文本文件 example.txt内容如下:
name a b c
age 1 2 3

说明:
上面文件中只有两行,但有4列,每列只有一个空格分隔,现在需要使用bash命令处理这个文本,处理后的结果如下:
name age
a 1
b 2
c 3

请问用命令如何实现,多谢了~!


作者: csccyab    时间: 2019-02-22 15:48
awk '{for(i=1;i<=NF;i++)a[i,NR]=$i; if(max_nf<NF) max_nf=NF; max_nr=NR} END{ for(i=1;i<=max_nf;i++){ for(j=1;j<=max_nr;j++) printf("%s ", a[i,j]); printf("\n")}}' 1.txt


name age
a 1
b 2
c 3







欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2