[root@159 shell]# cat fl
ID Name Age City Country Tel Salary Children
1001 Steven 25 NY U.S.A +01-02-323222 $4900 2
1002 Huang-Yu 30 BJ CHN +86-10-36789966 ¥6000 1
1003 Fish-Mad 27 SG SG +65-67456632 $3000 3
1004 Vale-Kiss 46 LD ENG +44-20-87634321 $6280 3
用awk实现从第二行开始打印每一行的第一列和第二列的功能。
数组a是关联数组,a关联到第一列,并将第二列的值赋给a。
这样没有按照原来的$2顺序输出。
注:i从0开始取值,而x从1开始。a为顺序数组,b为关联数组。
ID Name Age City Country Tel Salary Children
1001 Steven 25 NY U.S.A +01-02-323222 $4900 2
1002 Huang-Yu 30 BJ CHN +86-10-36789966 ¥6000 1
1003 Fish-Mad 27 SG SG +65-67456632 $3000 3
1004 Vale-Kiss 46 LD ENG +44-20-87634321 $6280 3
用awk实现从第二行开始打印每一行的第一列和第二列的功能。
[root@159 shell]# awk '{a[$1]=$2}END{for(i in a)print a[i]}' fl
Huang-Yu
Fish-Mad
Vale-Kiss
Name
Steven
Huang-Yu
Fish-Mad
Vale-Kiss
Name
Steven
这样没有按照原来的$2顺序输出。
[root@159 shell]# awk '{a[i]=$1;b[$1]=$2;i++}END{for(x=1;x<i;x++)print a[x],b[a[x]]}' fl
1001 Steven
1002 Huang-Yu
1003 Fish-Mad
1004 Vale-Kiss
1001 Steven
1002 Huang-Yu
1003 Fish-Mad
1004 Vale-Kiss
注:i从0开始取值,而x从1开始。a为顺序数组,b为关联数组。
转载于:https://blog.51cto.com/huoxiubo/690574