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
下一篇 2017-05-22

相关推荐

  • LAMP实战

    说明:本实验在单主机搭建。下面的步骤只需要你复制粘贴,即可完成实验。 1、安装httpd mkdir /tools cd /tools #获取软件包 wget -c http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.16.tar.gz wget http://m…

    Linux干货 2015-10-08
  • Linux运维实战之5:磁盘分区、格式化

    在网络系统中,磁盘和文件系统管理是两个非常基本、同时也是非常重要的管理任务,特别是文件系统管理,因为它与用户权限和整个网络系统的安全息息相关。本次博文的主题是关于Linux系统中磁盘分区、格式化及挂载,下次博文我们再详细讨论文件系统管理。 在操作系统中,磁盘管理属于设备管理的范畴。一块硬盘安装到主机之后称为裸设备,若要能够在Linux系统中使用必须对其进行如…

    Linux干货 2016-11-26
  • 文件的权限、扩展属性以及facl

    大纲: 一、前言 二、普通权限 三、特殊权限 四、ext文件的扩展属性 五、文件的访问控制列表(facl) 一、前言 linux中常见的权限有读(r)、写(w)、执行(x),还有3个特殊的权限。因此下面就从普通权限开始介绍起 二、普通权限 rwx:读 写 执行 rwxr-xr-x : 读写执行 读_执行 读_执行  (分别对应)属主 属组…

    Linux干货 2015-05-04
  • Linux简述与部分基础命令

    Linux简述与基础命令

    Linux干货 2017-12-04
  • bash-条件测试

                     条件测试 1.条件测试           判断某需求是否满足,…

    Linux干货 2016-08-12