awk数组

来源:互联网 发布:购买域名送空间 编辑:程序博客网 时间:2024/05/16 11:07
[cailu@cobbler-test ~]$ awk '{a[$1]=$5}END{for(i in a)print i,a[i]}' urfile  sshd 10:06was 09:04root 10:06[cailu@cobbler-test ~]$ cat urfile root       557  2532  0 09:04 ?        00:00:00 sshd: was [priv] was        563   557  0 09:04 ?        00:00:05 sshd: was@pts/1  root      1132  2532  0 09:31 ?        00:00:00 sshd: root@pts/0 root      1273  2532  0 10:06 ?        00:00:00 sshd: root [priv]sshd      1274  1273  0 10:06 ?        00:00:00 sshd: root [net]$1作为下标 $5域的值 赋给数组a[root@jssweb awk]# awk '{id[NR]=$3};END{for(x=1; x <= NR;x++) print id[x]}' employees1234111144444444100076662 awk变量NR包含当前的记录号,通过NR作为下标,各个记录的第3个域的值被赋给数组中相应的元素.最后,在END模块中,for 循环被用于循环整个数组打印那些存储在数组中的值[root@jhoa ~]#  awk '{id[NR]=$3};END{for(x=1; x <= NR;x++) print x, id[x]}'  awk.txt 1 25322 5573 25324 25325 1273[root@jhoa ~]#  awk '{id[NR]=$3};END{for(x in id)  print x,  id[x]}'   awk.txt 4 25325 12731 25322 557x用于循环数据id的下标,id[x]循环数组元素[root@jhoa ~]#  awk '{id[$2]};END{for(x in id)  print x}'   awk.txt 563113255712731274把$2元素代表下标
0 0
原创粉丝点击