194. 转置文件

原创
2018/05/25 21:49
阅读数 512

给定一个文件 file.txt,转置它的内容。

你可以假设每行列数相同,并且每个字段由 ' ' 分隔.

示例:

假设 file.txt 文件内容如下:

name age
alice 21
ryan 30

应当输出:

name alice ryan
age 21 30

使用awk像数组一样处理文本,NF显示每行的字段数(列数),NR(显示行数,从1开始)

 awk中的for,if,else等语句是从C语言中借鉴来的,行遍历:

for(i=1;i<=NF;i++) a[i]=$i;

答案:

awk '{
	for(i = 1;i <= NF;i++){
		if(NR==1){
            arr[i]=$i;
        }
        else {
            arr[i]=arr[i]" "$i;
        }
	}
}
END {
	for(i = 1;i <= NF;i++) {
		print arr[i];
	}
}' file.txt

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部