系统之家 - 系统光盘下载网站!

当前位置:系统之家 > 系统教程 > Linux使用文本处理工具awk

Linux如何使用文本处理工具awk(5)

时间:2015-01-14 18:22:52 作者:qipeng 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20150114/34882.html 手机查看 评论

  c.字符串分割为数组(split)

  awk ’BEGIN {info=“it is a test”; lens=split(info,tA,“ ”); print length(tA), lens;}‘ #length返回字符串以及数组长度,split进行分割字符串为数组,也会返回分割得到数组长度

  d.数组输出

  awk ’BEGIN {info=“it is a test”; split(info,tA,“ ”); for(k in tA){print k, tA[k];}}‘ #for…in 输出,因为数组是关联数组,默认是无序的。

  awk ’BEGIN {info=“it is a test”; tlen=split(info,tA,“ ”); for(k=1; k《=tlen; k++){print k, tA[k];}}‘ #如果需要得到有序数组,需要通过下标获得。数组下标是从1开始,与c数组不一样

  e.判断键值是否存在

  awk ’BEGIN {tB[“a”]=“a1”; tB[“b”]=“b1”; if(tB[“c”]!=“1”){print “no found”;}; for(k in tB){print k,tB[k];}}‘ #tB[“c”]没有定义,但是循环时候,发现已经存在该键值,它的值为空,这里需要注意,awk数组是关联数组,只要通过数组引用它的key,就会自动创建改序列

  awk ’BEGIN {tB[“a”]=“a1”; tB[“b”]=“b1”; if( “c” in tB){print “ok”;}; for(k in tB){print k,tB[k];}}‘ #if(key in array) 通过这种方法判断数组中是否包含”key”键值,才能正确的判断

  f.删除键值

  awk ’BEGIN {tB[“a”]=“a1”; tB[“b”]=“b1”; delete tB[“a”]; for(k in tB){print k, tB[k];}}‘

  g.二维数组

  awk ’BEGIN{

  for(i=1;i《=9;i++)

  {

  for(j=1;j《=9;j++)

  {

  tarr[i,j]=i*j;

  print i,“*”,j,“=”,tarr[i,j];

  }

  }

  }‘

  #array[k,k2]引用获得数组内容

  4.流程控制操作

  a.awk ’BEGIN{

  score=100;

  if(score》90)

  {

  print “优秀”;

  }

  else if(score》80)

  {

  print “良好”;

  }

  else if(score》70)

  {

  print “普通”;

  }

  else if(score》60)

  {

  print “及格”;

  }else

  {

  print “不及格”;

  }

  }‘

  b.awk ’BEGIN{

  total=0;

  while(i《=100)

  {

  total+=i;

  i++;

  }

  print total;

  }‘

标签 命令

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表系统之家立场

其他版本软件

热门教程

人气教程排行

Linux系统推荐

扫码关注
扫码关注

扫码关注 官方交流群 软件收录