#!/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