矩陣轉換-shell版

使用shell完成矩陣轉換:
file.txt中的內容爲以下:

name age
alice 21
ryan 30
轉化後:
name alice ryan
age 21 30
awk '{ #這個大括號裏的代碼是 對正文的處理
    # NF表示列數,NR表示已讀的行數
    # 注意for中的i從1開始,i前沒有類型
    for (i=1; i<=NF; i++){#對每一列
        if(NR==1){       #如果是第一行
            #將第i列的值存入res[i],$i表示第i列的值,i爲數組的下標,以列序號爲下標,
            #數組不用定義可以直接使用
            res[i]=$i;   
        }
        else{
            #不是第一行時,將該行對應i列的值拼接到res[i]
            res[i]=res[i] " " $i
        }
    }
}
# BEGIN{} 文件進行掃描前要執行的操作;END{} 文件掃描結束後要執行的操作。
END{
    #輸出數組
	for (i=1; i<=NF; i++){
		print res[i]
	}
}' file.txt
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章