awk使用笔记

1. -v 外部指定变量.

awk -v num=$num -f sql.awk "backup/"$file

在sql.awk中可以利用num这个变量

2.

RLENGTH    由match函数所匹配的字符串的长度。
RSTART    由match函数所匹配的字符串的第一个位置。
match 函数返回在字符串中正则表达式位置的索引,如果找不到指定的正则表达式则返回0。match函数会设置内建变量RSTART为字符串中子字符串的开始位置,RLENGTH为到子字符串末尾的字符个数。substr可利于这些变量来截取字符串。函数格式如下:

            match( string, regular expression )
实例:

            $ awk ‘{start=match("this is a test",/[a-z]+$/); print start}‘
            $ awk ‘{start=match("this is a test",/[a-z]+$/); print start, RSTART, RLENGTH }‘
第一个实例打印以连续小写字符结尾的开始位置,这里是11。

第二个实例还打印RSTART和RLENGTH变量,这里是11(start),11(RSTART),4(RLENGTH)。

http://www.cnblogs.com/emanlee/p/3327576.html

时间: 2024-12-26 16:11:57

awk使用笔记的相关文章

sed&&awk学习笔记(1)

sed和awk的基本使用 在sed和awk中,每个指令都包括两个部分:模式和过程.模式是由斜杠(/)分割的正则表达式.过程制定一个或多个将被执行的动作. 执行过程中,读取脚本中的第一个指令并检测当前行的模式,如果没有匹配,这个过程被忽略并读取下一个指令.读取所有的指令,而不是读取与输入行匹配的第一条指令. 所有指令被解释并应用于单个行后,sed输出该行并循环处理每个输入行.awk不自动输出行,脚本中的指令控制awk最终所做的事情. 使用sed 调用sed有两种方法:在命令行上指定编辑指令,或者将

linux awk学习笔记

awk学习笔记 awk语法格式 awk '{pattern + action}' {filenames} awk作用 awk的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文件操作.完整的awk脚本通常用来格式化文本文件中的信息. 通常,awk是以文件的一行为处理单位的.awk每接收文件的一行,再执行相应的命令,来处理文本.

awk学习笔记【转】

Awk学习笔记 整理:Jims of 肥肥世家 <[email protected]> Copyright © 2004 本文遵从GPL协议,欢迎转载.修改.散布. 第一次发布时间:2004年8月6日 Table of Contents 1. awk简介 2. awk命令格式和选项 2.1. awk的语法有两种形式 2.2. 命令选项 3. 模式和操作 3.1. 模式 3.2. 操作 4. awk的环境变量 5. awk运算符 6. 记录和域 6.1. 记录 6.2. 域 6.3. 域分隔符

awk 练习笔记

#awk 练习笔记 #参考:http://man.linuxde.net/awk #awk格式 awk 'BEGIN{ print "start" } pattern{ commands } END{ print "end" }' file 一个awk脚本通常由:BEGIN语句块.能够使用模式匹配的通用语句块.END语句块3部分组成,这三个部分是可选的. 任意一个部分都可以不出现在脚本中,脚本通常是被单引号或双引号中 ●第一步:执行BEGIN{ commands }

[linux]awk 学习笔记

awk 学习笔记 最近添加了几个功能的日志,但是呢,这个日志就是输出,一般自己也发现不了问题,于是想写一些简单的监控脚本来看看日志的大致情况, 比如有没有error,每天有多少error报出来. 想到了以前运维的同时分享awk,于是想简单的学习下. 入门 最简单的输入某些列 使用$4 这种来表示 __$0__是输出整列 [root]/root/test$ps -ef|grep uwsgi|awk '{print $1,$5}' root Jul24 root Jul24 root Jul24 r

sed、grep、awk -- 三剑客笔记记录

sed常用操作笔记   1.删除文件最后一行: sed -i '$d' filename 2.递归替换内容:sed -i 's/内容A/内容B/g' filename sed -i "s/S_IP.*/S_IP=${slave_ip}/g" config.sh 3.提取文件特定行的内容: sed -n 20,40p filename 4.   awk常用操作笔记 1.提取第5列子符: cat filename | awk '{print $5}' 2. grep常用操作笔记 1.排除空

awk命令笔记

awk是一种可以处理数据.产生格式化报表的语言,功能相当强大.awk的工作方式是读取数据文件,将每一行数据视为一条记录(record),每笔记录以字段分隔符分成若干字段,然后输出各个字段的值.awk对每一条记录,都会套用一个"样式{操作}",如果该行符合样式,就执行指定的操作.样式或操作之一,可以省略.如果只有样式,表示要显示符合样式的数据行:如果只有操作,表示对每一数据行都执行该项操作. 以下是awk常用的作用格式: awk"样式"文件:把符合样式的数据行显示出来

awk学习笔记

1. 数据格式 id1,n1 id2,n2 ... 要对每个id进行一个n的加和 1 cat file1 | awk -F"," '{if(n[$1]>0){n[$1]=n[$1]+$2} else{n[$1]=$2}} END{for(k in n){print k","n[k]}}' > res 这个主要利用了awk的数组

linux shell学习之awk ---新手笔记

1.AWK的pattern BEGIN END expression 例: NF>10 或/^a/ /regular expression/? 可以?用类似/^a/这种写法 另一种写法$1 ~ /^a/       //字段匹配 表达式之间可以?用&& || ! ?: 等操作符做布尔运算(当然可以是正则表达式) expression , expression 表?示开始和结束 例: NF==5,NF==10 例子1: cat /etc/passwd |awk -F":&qu