awk实例(持续更新)

简介:

1、显示第几列到第几列

显示第3至第5列

awk '{for(i=3;i<=5;i++) printf $i""FS;print ""}' file


显示第3列至最后一列

awk '{for(i=3;i<=NF;i++) printf $i""FS;print ""}' file


扩展:

find . -mtime 0 -name "*.php" -exec ls -lih {} \; |awk '{print $6,$7,$8,$9}'

find . -mtime 0 -name "*.php" -exec ls -lih {} \; |awk '{for(i=6;i<=9;i++) printf $i""FS;print ""}'

find . -mtime 0 -name "*.php" -exec ls -lih {} \; |awk '{for(i=6;i<=NF;i++) printf $i""FS;print ""}'


2、统计tcp连接状态和数量

netstat -n | awk '/^tcp/ {++a[$NF]}END{for(i in a){print i,a[i]}}'


3、统计apache日志IP访问次数

cat mail_access_log-20180106 | awk '{a[$1]++}END{for (i in a){print i,a[i]}}' | sort -nr -k 2 |head -10
192.168.200.105 24454
192.168.0.224 21956


4、统计某邮件系统smtp外发日志,每个账号外发了多少封日志

cat smtp.log | grep "from:" | awk '{a[$6]++}END{for(i in a){print i,a[i]}}' |sed 's/<//g' | sed 's/>,//g' | sort -rn -k 2 | head -n 10

不用数组的方法:cat smtp.log | grep "from:" | awk -F " " '{ print $6 }' | sed 's/<//g' | sed 's/>,//g' | sort | uniq -c | sort -rn -k 1 | head -n 10


5、只替换指定列的匹配字符(第4列和第五列)

awk ' {if($4==-1){$4="不限制"}if($4==1){$4="禁止"}if($4==2){$4="本域"}if($4==3){$4="指定外域"}if($4==4){$4="本地所有域"}if($5==-1){$5="不限制"}if($5==1){$5="禁止"}if($5==2){$5="本域"}if($5==3){$5="指定外域"}if($5==4){$5="本地所有域"}print}' /root/user.txt  | column -t 

备注:column -t表示格式化列。




本文转自 sailikung 51CTO博客,原文链接:http://blog.51cto.com/net881004/2053961,如需转载请自行联系原作者

相关文章
|
Java 应用服务中间件
idea tomcat 404 无法自动打开本地项目war包路径
idea tomcat 404 无法自动打开本地项目war包路径
241 0
|
计算机视觉
OpenCV-DFT最优尺寸cv::getOptimalDFTSize
OpenCV-DFT最优尺寸cv::getOptimalDFTSize
169 0
|
存储 JavaScript 前端开发
Vue2+Vue3基础入门到实战项目(七)—— 智慧商城 项目
Vue2+Vue3基础入门到实战项目(七)—— 智慧商城 项目
483 0
|
10月前
|
存储 监控 NoSQL
【赵渝强老师】Redis的RDB数据持久化
Redis 是内存数据库,提供数据持久化功能以防止服务器进程退出导致数据丢失。Redis 支持 RDB 和 AOF 两种持久化方式,其中 RDB 是默认的持久化方式。RDB 通过在指定时间间隔内将内存中的数据快照写入磁盘,确保数据的安全性和恢复能力。RDB 持久化机制包括创建子进程、将数据写入临时文件并替换旧文件等步骤。优点包括适合大规模数据恢复和低数据完整性要求的场景,但也有数据完整性和一致性较低及备份时占用内存的缺点。
362 6
|
10月前
|
设计模式 测试技术 Go
学习Go语言
【10月更文挑战第25天】学习Go语言
141 4
|
存储 消息中间件 Cloud Native
饿了么EMonitor演进史
可观测性作为技术体系的核心环节之一,跟随饿了么技术的飞速发展,不断自我革新。
7906 108
饿了么EMonitor演进史
Echarts案例:整一个炫酷一点的仪表盘
Echarts案例:整一个炫酷一点的仪表盘
1161 1
Echarts案例:整一个炫酷一点的仪表盘
|
计算机视觉
【opencv】cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function ‘imshow‘
【opencv】cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function ‘imshow‘
1039 0
【opencv】cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function ‘imshow‘
DataFrame(6):DataFrame的增、删、改、查(一)
DataFrame(6):DataFrame的增、删、改、查(一)
DataFrame(6):DataFrame的增、删、改、查(一)