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

相关推荐

  • Linux find命令使用详则

    find命令 find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录欲文件。并且将查找到的子目录和文件全部进行显示。 语法 find(选项)(参数) 选项 -amin<分钟>:查找在指定时间曾被存取过的文件或者目录,单位以分钟计算; -ane…

    2017-08-03
  • 马哥教育网络班21期+第7周课程练习

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@localhost ~]#mke2fs -t ext4 -b 2048 -m 2 -L &qu…

    Linux干货 2016-08-15
  • 一. Linux 基础

    一。linux的历史 二。虚拟机中安装linux操作系统。 三。基础命令的使用。

    2017-08-29
  • FHS文件系统各目录功能

    FHS       Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。下为…

    Linux干货 2016-10-16
  • Linux基础介绍

    1、Linux用户: Linux用户分为普通用户和管理员,普通用户的系统操作权限低,用户的误操作对系统数据的破坏程度有限,不会对系统造成灾难性的破坏。而管理员对系统具有绝对的权限,可以修改和设置系统的任何数据,如果误操作,及其容易对系统数据造成不可挽回的破坏,比如执行以下命令 rm  -rf  / 。因此,系统管理员在操作root用户时需…

    Linux干货 2016-07-26
  • 设计模式(二)单件模式Singleton(创建型)

      几乎所有面向对象的程序中,总有一些类的对象需要是唯一的,例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销。再如大家最经常用的IM,如QQ,在同一台电脑,一个帐号只能有唯一的登录。 1. 问题 怎样确保一个特殊类的实例是独一无二的(它是这个类的唯一实例),并且这个实例…

    Linux干货 2015-06-24