awk编程总结

注意:如果以命令行的方式提供awk程序,而不是将它写入一个文件中,那么在程序的任何地方都不能出现单引号,否则shell将对它进行解释而导致错误。

记录:每一行输入为一个记录。

字段: 由空格或制表符分隔的单词成为字段。

使用-F来修改分隔符,例如:

-F,

将分隔符修改成逗号。

常用系统变量:

FS Field separator (default=whitespace)
RS Record separator (default=\n)
NF Number of fields in current record
NR Number of the current record
OFS Output field separator (default=space)
ORS Output record separator (default=\n)
FILENAME Current filename

简单范例:

awk '$2 !~ /E/{print $1, $2}' datafile
awk '/^[ns]/{print $1}' datafile
awk '$3 * $4 > 500 {print $0}' file
awk '$1 ~ /Tom/{wage = $3 * $4; print wage}' filename

内建函数:

tolower(string) 
toupper(string) 
index(s, t) 
length(s) 
split(string, array, fieldsep) 
substr(s,p) substr(s,p,n)
match(s,r)

控制结构语句:

if ( NR < 3 )
	print $2
else
	print $3

for (i = 1; i <= NR; i++)
{
      total += $i
      count++
}

i = 1
while (i <= NF)
{
      print i, $i
      i++
}

i = 1 
do { 
  print $0 
  i++
} while (i <= 10)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值