#!/bin/bash
awk '{
for(i = 1; i <= NF; i++)
arr[i] = arr[i] ? arr[i] " " $i : $i
}
END{
for(i in arr)
print arr[i]
}
' nowcoder.txt
# 第一行处理,a[1] = "job" a[2] = "salary"
# 第二行处理,a[1] = "job c++" a[2] = "salary 13"
# 第三行处理,a[1] = "job c++ java" a[2] = "salary 13 14"
# 第四行处理,a[1] = "job c++ java php" a[2] = "salary 13 14 12"
# arr[i] = arr[i] 主要用于arr[]初始时,没有值,直接输出$i
# 第一次直接输出$i,之后的每一次循环都按 arr[i] " " $i 输出
# NF 当前行的字段数量
END

京公网安备 11010502036488号