awk呀

^今天学习了linux文本处理三剑客中最难的一个命令:awk 接下来让我给大家介绍一下 $
先说一下要用到的符号:print(输出 打印)
printf(格式化输出)
%c : 字符
%s : 字符串
%d : 整数
%f : float 浮点型 小数

    %10s     :  宽度  10位   字符串 
    %-10s     :  左对齐 
    NR :代表行号
    NF :字段的号,表示那一列

下面举几个例子,让大家更容易理解,注意看!!!

awk '{print $0}' 文件名 $0代表整行
这个例子就是把文件的每一行列出来!!!

awk '{print $1,$3}' 文件吗
列出文件第一列第三列!!!

awk -F: '{print $3}' /etc/passwd
列出文件第一列(为什么这个要加-F:,因为这个要把:当分隔符;如果是空格可以不用加,比如上一个例题!!!)

awk呀
输出文件第一列第三列,%-20s表示输出字符串类型长度为八,- 表示从左输出!!

awk呀
这个例题是介绍FNR的作用,都是输出两个文件,不傻应该都能看明白!对吧?

awk 'BEGIN{x=0}/^$/{x+=1}END{print "I find",x, "blank lines,"}' 文件名
输出文件中的空行!!!

awk -F: 'NR==5|NR==6{print }' /etc/passwd
只输出第五六行!!!

awk呀
输出ls-l中第五列的总和!!!

awk呀
列出第一三列,\t 表示tab键,空的多就多用几个!!!!

awk呀
用if循环输出第三列小于500的数字!!!awk呀
输出以systemd开头的行!!!

awk呀
这个看着已经有点难度了,它输出第三列,大于一百打印large, 小于一百打印small !!!
总体还是有点难的,今天分享到此结束,再见!!!!!1

上一篇:awk自学


下一篇:Linux文本处理三剑客