我需要将一些数据转换为作业。我很确定对于 awk 来说,这看起来是一项非常简单的工作,但我对此并不满意。
每个数据元素(和列)都以制表符分隔。数据元素可以包含空格和特殊字符,但不能包含制表符。
示例输入:
column1 column2 column3
rowA1 rowA2 rowA3
rowB1 rowB2 rowB3
Run Code Online (Sandbox Code Playgroud)
预期输出:
column1 = rowA1
column2 = rowA2
column3 = rowA3
column1 = rowB1
column2 = rowB2
column3 = rowB3
Run Code Online (Sandbox Code Playgroud)
(任意行数,不超过百行)
任何线索如何做到这一点?(使用 awk 或 Linux 上的任何标准命令行工具)
例如:
{
if (NR==1){
for (i=1; i<=NF; ++i){
arr[i] = $i
}
}else{
for (i=1; i<=NF; ++i){
print(arr[i]," = ",$i)
}
}
print("")
}
Run Code Online (Sandbox Code Playgroud)
跑步:
awk -f script.awk input
Run Code Online (Sandbox Code Playgroud)