awk 学习笔记
2010-04-22 17:03
225 查看
awk 是一个程式语言,对於资料的处理具有很强的功能。对於文
字档里的资料做修改、比对、抽取等的处理,有着简练速度快的特点
常常与shell命令结合极大的简化工作
1 awk ' 命令' 文件名 更多是接收管道的数据在输出到管道中
执行格式 awk pattern { action }
patten 的种类
/正则表达式/
表达式 不为0 或是不为空串就成功
-f 可以导入一个程序文件
awk '/ 正则表达式/{action}'
awk 对输入的文件每行进行处理 ; BEGIN 标识在处理文件前 处理的程序;END 是遍历后处理的程序
awk 对每行会划分很多歌段位 默认已 空格或是TAB为划分符 改变划为符使用FS=, 更改输出段位符 OFS, 记录符 为 RS
awk 'BEGIN {OFS=";"; ORS="/n/n"} {print $1, $2}' BBS-list
$0 表示当前行,$1 第一个段位值, $NF表示最后一个段位值
可以定义很多一些变量 s, s[nihao]
awk '$1 == "Feb" {sum=$2+$3} END {print sum}' shipped
awk '$1~/foo/ {print $0}' BBS-list 第一个段位进行匹配
awk '/foo/ {print $2}' BBS-list
可以使用printf
regexp 也能使用在比较的算式
exp ~/regexp/
比较的 pattern 用来测试两个数字或字串的关系诸如大於、等於
、小於。下面列出一些比较的pattern:
x<y 如果 x 小於 y,则结果为真。
x<=y 如果 x 小於、等於 y,则结果为真。
x>;y 如果 x 大於 y,则结果为真。
x>;=y 如果 x 大於、等於 y,则结果为真。
x==y 如果 x 等於 y,则结果为真。
x!=y 如果 x 不等於 y,则结果为真。
x~y 如果 x 符合 regular expression y,则结果为真。
(p25 of
x!~y 如果 x 不符合 regular expression y,则结果为真。
一个布林(boolean) pattern 是使用布林运算"或"('||'),"及"
('&&'),"反"('!')来组合其它的pattern。
例如:
gawk '/2400/ && /foo/' BBS-list
gawk '/2400/ || /foo/' BBS-list
gawk '! /foo/' BBS-list
算术运算 比较算式与布林算式 注意大于号要用分号 a>;b
此外支持 条件判断语句 循环语句 三目运算符
内置数学函数, 字符串函数,可以自定义函数
function name(param){
}
字档里的资料做修改、比对、抽取等的处理,有着简练速度快的特点
常常与shell命令结合极大的简化工作
1 awk ' 命令' 文件名 更多是接收管道的数据在输出到管道中
执行格式 awk pattern { action }
patten 的种类
/正则表达式/
表达式 不为0 或是不为空串就成功
-f 可以导入一个程序文件
awk '/ 正则表达式/{action}'
awk 对输入的文件每行进行处理 ; BEGIN 标识在处理文件前 处理的程序;END 是遍历后处理的程序
awk 对每行会划分很多歌段位 默认已 空格或是TAB为划分符 改变划为符使用FS=, 更改输出段位符 OFS, 记录符 为 RS
awk 'BEGIN {OFS=";"; ORS="/n/n"} {print $1, $2}' BBS-list
$0 表示当前行,$1 第一个段位值, $NF表示最后一个段位值
可以定义很多一些变量 s, s[nihao]
awk '$1 == "Feb" {sum=$2+$3} END {print sum}' shipped
awk '$1~/foo/ {print $0}' BBS-list 第一个段位进行匹配
awk '/foo/ {print $2}' BBS-list
可以使用printf
regexp 也能使用在比较的算式
exp ~/regexp/
比较的 pattern 用来测试两个数字或字串的关系诸如大於、等於
、小於。下面列出一些比较的pattern:
x<y 如果 x 小於 y,则结果为真。
x<=y 如果 x 小於、等於 y,则结果为真。
x>;y 如果 x 大於 y,则结果为真。
x>;=y 如果 x 大於、等於 y,则结果为真。
x==y 如果 x 等於 y,则结果为真。
x!=y 如果 x 不等於 y,则结果为真。
x~y 如果 x 符合 regular expression y,则结果为真。
(p25 of
x!~y 如果 x 不符合 regular expression y,则结果为真。
一个布林(boolean) pattern 是使用布林运算"或"('||'),"及"
('&&'),"反"('!')来组合其它的pattern。
例如:
gawk '/2400/ && /foo/' BBS-list
gawk '/2400/ || /foo/' BBS-list
gawk '! /foo/' BBS-list
算术运算 比较算式与布林算式 注意大于号要用分号 a>;b
此外支持 条件判断语句 循环语句 三目运算符
内置数学函数, 字符串函数,可以自定义函数
function name(param){
}
相关文章推荐
- linux学习笔记(18) - sed和awk
- 尚观第15周AWK学习笔记
- Awk学习笔记
- awk命令学习笔记
- Sed&Awk学习笔记
- awk学习笔记-4
- 2018-1-17 Linux学习笔记(awk)[重要]
- linux awk 学习笔记三(结构化命令、函数)
- Shell脚本学习笔记(七)--sed和awk
- Shell脚本学习笔记(七)--sed和awk
- awk 学习笔记
- AWK学习笔记-2.4Output输出
- Sed、Awk和grep 学习笔记(一)
- AWK 学习笔记
- AWK 学习笔记
- awk学习笔记之行求和和列求和
- Shell脚本写作:Awk学习笔记
- sed,awk,grep学习笔记
- Linux-awk学习笔记
- grep、awk、sed学习笔记