如何使用 awk 或其他方法将此数据转换为分配?

Pac*_*ac0 1 awk

我需要将一些数据转换为作业。我很确定对于 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 上的任何标准命令行工具)

pfn*_*sel 5

例如:

{
    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)