AWK基础用法

栏目: 服务器 · 发布时间: 8年前

内容简介:AWK基础用法

AWK:

print

例子: 给没个/etc/passwd下的用户都打招呼hello

答案:
awk '{print "hello:"$1}' /etc/passwd

内建变量

FS : 输入分隔符

OFS: 输出分隔符

RS : 行输入分隔符

ORS: 行输出分割符

NF : 字段数

NR : 行号数

FNR: 每个文件的行号数

ARGC: 参数个数

ARGV: 数组形式保存

printf

%c :显示字符的ASCII码

%d :显示十进制整数

%e :科学计数法显示

%f :显示浮点数

%g :以科学计数法显示浮点数

%s :显示字符串

%v :无符号整数

%% :显示%本身

修饰符:

%15s 行距离

-减号:左对齐

+加号:显示数值正整号

PATTERN

BEGAIN:开始处理一次

END :结束后执行一次

控制语句和数组

if( ){ } else { } 语句

for( ; ; ) { } 语句

while( ) { } 语句

for( in ) { }语句

例子: 显示/etc/passwd文件中位于文件的第偶数行的用户名;并显示共有多少个这样的用户

答案:
awk -F: '{if (NR%2==0) {count++;print $1}} END {print "Total Users:"count" "}' /etc/passwd

例子: netstat -tan 打印tcp链接状态的统计数

答案:
netstat -tan | awk '{if(NR>2)count[$NF]++}END{for(i in count)print i,count[i]}'

例子: 统计/etc/fstab文件中每个文件系统类型出现的次数

答案:
awk '/^[^#]/{count[$3]++}END{for(i in count) print i,count[i]}' /etc/fstab

例子: 统计/etc/fatab文件中每个单词出现的次数

答案:
awk '{for(i=1;i<NF;i++){count[$i]++}}END{for(i in count) print i,count[i]}' /etc/fstab

转载请注明:linux运维部落 »AWK基础用法


以上所述就是小编给大家介绍的《AWK基础用法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Machine Learning

Machine Learning

Kevin Murphy / The MIT Press / 2012-9-18 / USD 90.00

Today's Web-enabled deluge of electronic data calls for automated methods of data analysis. Machine learning provides these, developing methods that can automatically detect patterns in data and then ......一起来看看 《Machine Learning》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试