b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

awk数组_awk关联数组_awk统计出现次数

电脑杂谈  发布时间:2016-11-26 08:13:41  来源:网络整理

awk统计出现次数_awk关联数组_awk数组

首先,将输出记录分隔符 ORS 设置成 ""(空),它将使 print 语句在每个调用结尾不输出新行。awk数组这意味着如果希望任何文本从新的一行开始,那么需要明确写入 print "\n"。

在代码中,设置变量i来存储当前中处理字段编号,对每一行记录,i首先设置为0,然后对每一字段打印一个“*”,每一行记录打印完之后打印一个换行,由于将 ORS 设置成 "",print将不输出2个换行。下面为打印结果:

#./7_awk_while.sh
* * * 
* * * 
* * * 
* * * * 
* * * 
#

2、 do…while循环

awk 还有"do...while" 循环,它在代码块结尾处对条件求值,而不象标准 while 循环那样在开始处求值。

示例(输出六个*号):

#!/bin/sh
 
echo "" | awk '
{
    i=0
    do {
        printf("* ")
    }while (i++ < 5)
    printf("\n")
}'

与一般的 while 循环不同,由于在代码块之后对条件求值,"do...while" 循环永远都至少执行一次。

换句话说,当第一次遇到普通 while 循环时,如果条件为假,将永远不执行该循环。

3、 for循环

awk 允许创建 for 循环,它就象 while 循环,也等同于 C 语言的 for 循环:

for ( initial assignment; comparison; increment ) {
 code block
}

示例(同样连续输出5个*):

#!/bin/sh
 
echo"" | awk '
{
    for (i=0; i<5; i++) {
        printf("* ")
    }
    printf("\n")
}'

使用过C语言的会发现,Awk的循环操作和C语言的循环操作语法极其类似。

Awk也支持数组,数组使用前,不必定义,也不必指定数组元素个数。awk数组经常使用循环来访问数组。下面是一种循环类型的基本结构:

awk数组_awk统计出现次数_awk关联数组

For (element inarray ) print array[element]

示例:

#!/bin/sh
 
echo"" | awk '
BEGIN {
	a[1]="123"
	a[2]="456"
	a[3]="789"
}
 
END{
	for(i in a) {
		print a[i]
	}
}'

Awk数组的下标还可以使用字符串。awk 将 arr["1"] 和 arr[1] 看作同一个元素。

示例:

#!/bin/sh
 
echo"" | awk '
BEGIN {
	a[1]="123"
	a[2]="456"
	a[3]="789"
 
   a["hello"]="awk"
	a["3"]="world"
}
 
{
	for(i in a) {
		print a[i]
	}
}
 
END {
	print "======end========"
	print a[3]
	print a["3"]
}
'

输出结果为:

awk
123
456
world
======end========
world
world


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-21918-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 汉殇帝刘隆
        汉殇帝刘隆

        意思是让你们自己掏钱买房

      • 楚惠王
        楚惠王

        就是这个道理

      每日福利
      热点图片
      拼命载入中...