awk编程总结
2015-06-14 17:41
274 查看
注意:如果以命令行的方式提供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)
控制结构语句:
记录:每一行输入为一个记录。
字段: 由空格或制表符分隔的单词成为字段。
使用-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)
相关文章推荐
- 文本处理工具AWK详解
- awk简介与学习笔记收集第1/3页
- linux shell awk获得外部变量(变量传值)简介
- sed或awk处理文件最后一行的实现方法
- awk中查看包含某两列字符的用法
- awk区间取值的例子
- awk实现Left、join查询、去除重复值以及局部变量讲解例子
- awk中让人郁闷的system()函数
- awk中实现ord函数功能
- awk中RS、ORS、FS、OFS的区别和联系小结
- 分享awk变量$0的妙用
- awk正则表达式和内置函数的使用方法实例详解
- Shell正则表达式之grep、sed、awk实操笔记
- Linux里awk中split函数的用法小结
- Shell对比两个文件中的记录有多少重复
- awk学习系列-第3/3部分
- grep,awk,sed实例
- Linux如何使用awk文本处理工具进行数组排序
- awk 正则表达式
- awk命令简介