awk------学习记录

awk是一个文本处理语言。

一、工作流程:

awk分为三个代码块:BEGIN{}、{}、END{}。

BEGIN{}:为读入文件之前执行的代码段。可选,程序中可以没有此内容。

{}:循环逐行读取数据并进行匹配处理。每输入一行,执行一次此命令。将文件按指定的域分隔符划分域,填充域,$0表示所有域,$1表示被分割之后的第一个域,$n表示被分割之后的第n个域。

END{}:文件读取结束后执行的代码。

二、awk的内置函数:

算术函数

atan2(y,x)、cos(x)、sin(x)、exp(x)、log(x)、sqrt(x)、int(x)、rand(x)、srand([Expr])

 

字符串函数

gsub(Ere, Repl,[In])

global substitution全局替换

 

sub(regex, sub, string)

执行一次字符串替换,将第一次出现的字符串用regex代替,第三个参数可选,默认为$0。

 

substr(str, start, l)

substr函数返回str字符串中从start个字符开始长度为l的字符串。如果l未指定,则返回至末尾。

 

index(String1,String2)

在由String1参数指定的字符串中有出现string2参数指定的字符串,返回从1开始的位置编号,否则返回0。

 

length[(string)]/blength[(string)]

返回string参数指定的字符串的长度,如果未给出string参数,则返回整个记录的长度($0记录变量)。blength[(string)]以字节为单位。

 

substr(string,M,[N])

获取N长度的字符串。字符串为string中M为开始,N个字符串长度的字符。

 

match(String, Ere)

返回Ere在string中的位置,如果没有返回0。RSTART 特殊变量设置为返回值。RLENGTH 特殊变量设置为匹配的字符串的长度,或如果未找到任何匹配,则设置为 -1

 

split(String, A, [Ere])

将 String 参数指定的参数分割为数组元素 A[1], A[2], . . ., A[n],并返回 n 变量的值。此分隔可以通过 Ere 参数指定的扩展正则表达式进行,或用当前字段分隔符(FS 特殊变量)来进行(如果没有给出 Ere 参数)。除非上下文指明特定的元素还应具有一个数字值,否则 A 数组中的元素用字符串值来创建。

 

 

 

 

三、其它函数

exit:结束脚本程序的执行。该函数接受一个整数作为参数表示AWK进程结束状态。例如:

exit(10)

echo $?的返回值为10。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值