实例妙解Sed和Awk的秘密——awk操作命令

awk特点:

文本与数据处理工具:  可编程 ----> 处理灵活,功能强大。

awk应用:

1、统计 2、制表3、还有更多的功能哦

awk学习内容:

1、awk行处理方式与格式 2、awk内嵌参数应用 3、awk内嵌程序应用

awk处理方式与格式:

1、awk处理方式 2、awk与格式

==============================================================================================================================

awk处理方式:

  • awk一次处理一行内容
  • awk对每行可以切片处理
$ awk  '{print $1}'   //输出首个单词

使用awk——格式:

  • 命令行格式
$ awk [options] 'command' file(s)

command : pattern {awk操作命令}

pattern : 正则表达式;逻辑判断式

  • 脚本格式
$ awk -f awk-script-file file(s)

使用awk——基本格式:

$ awk [options] 'command' file(s)

command : pattern {awk操作命令}

pattern : 正则表达式;逻辑判断式


command1 :pattern {awk操作命令}

操作命令:内置函数:print()   printf()    getline..;
控制指令:if () {...} else {...}; while() {...};
awk内置参数应用:
  • awk内置变量1
    • $0 :表示整个当前行
    • $1 :每行第一个字段
    • $2 :每行第二个字段
awk内置参数:分隔符
options: -F  filed-separator (默认为空格)
例如:$ awk -F ':'  '{print $3}'  /etc/passwd

 


  • awk内置变量2
    • NR : 每行的记录号
    • NF : 字段数量变量
FILENAME : 正在处理的文件名



awk内置参数应用:

案例一:

显示 /etc/passwd 每行的行号,每行的列数,对应行的用户名(print  , printf)



案例二:

显示/etc/passwd中用户ID大于100的行号和用户名(if...else...)


案例三:

在服务器log中找出 'Error'的发生日期:


使用awk——逻辑判断式:

command : pattern {awk 操作命令}

pattern : 正则表达式:逻辑判断式

  • awk逻辑

~ , !  ~  : 匹配正则表达式

== , != , <  , > : 判断逻辑表达式







使用awk——扩展格式:

$ awk [options] 'command' file(s)
command2 扩展

BEGIN{ print "start" } pattern{ commands } END { print "end"}
案例一:

制表显示/etc/passwd每行的行号,每行的列数,对应行的用户名


案例一:

统计当前文件夹下的文件/文件夹占用的大小



案例二:

统计显示/etc/passwd的账户总人数


awk处理过程

案例二:

统计 显示/etc/passwd的账户总人数。

统计显示UID大于100的用户名。


案例三:

统计netstat -anp状态下为LISTEN和CONNECTED的连接数量


awk VS sed

  • awk和sed都可以处理文本
  • awk侧重于负责逻辑处理
  • sed侧重于正则处理





  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上善若水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值