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

原创文章,作者:z long,如若转载,请注明出处:http://www.178linux.com/76717

(0)
z longz long
上一篇 2017-05-22 19:24
下一篇 2017-05-22 20:25

相关推荐

  • Zabbix基于Proxy分布式部署实现Web监控

    前言 在日常运维工作中,难免会遇到这样或那样的故障,如何能在第一时间发现故障,并及时定位故障原因,保证业务不受影响,我想这应该是做好一个运维必须要掌握的技能。但人力不可能实时掌控系统的变化,于是监控系统应运而生,监控便是运维的眼睛,把监控和性能管理做好后,运维就是一件很轻松的事情。目前比较流行的开源监控工具有Cacti、Nagios(Icinga)、Zabb…

    Linux干货 2015-07-13
  • kickstart及引导镜像制作

    环境:CentOS 6.7 kickstart 制作    1、centos系统安装完成后,anaconda会根据本次系统安装的配置,生成一个与本次安装设置相同的kickstart文件,文件位于/root/anaconda-ks.cfg,可以使用vim对这个文件进行修改来使用。     vim anaconda-ks.…

    Linux干货 2015-12-15
  • Linux文本处理三剑客之grep

    一、grep命令 grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行。 模式:由正则表达式字符及文本字符所编写的过滤条件 二、grep命令格式 grep [OPT…

    Linux干货 2016-08-15
  • Docker之~集群配置

    一、前言 Kubernetes 是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度、均衡容灾、服务注册、动态扩缩容等功能套件,目前最新版本为0.6.2。 本文介绍如何基于Centos7.0构建Kubernetes平台,在正式介绍之前,大家有必要先理解Kubernetes几个核心概念及其承担的功能。以下为Kubernet…

    2017-03-16
  • Linux权限管理与grep命令应用(第四周)

    第四周作业 1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 [root@localhost ~]# cp -r /etc/skel/ /home/tuser1 [root@localhost ~]# ch…

    Linux干货 2016-09-15
  • linux的发展与入门

    1,计算机的组成和功能如下: CPU:是由运算器(是用来对数据进行数据运算和逻辑运算), 控制器(是用来对总线的控制,内存寻址的控制,以及对读,写访问的控制), 寄存器和缓存器(都是用来暂存数据的。) 存储器:内存RAM(随机接入存储器)和硬盘:都是用来存储数据的。 输入设备:用来输入需要处理的数据和指令。 输出设备:是用来显示加工过的数据。 2,LINUX…

    Linux干货 2017-07-03