加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell四剑客awk

发布时间:2020-12-15 20:09:09 所属栏目:安全 来源:网络整理
导读:(1) awk原理 awk的原理是逐行处理文件中的数据,查找与命令行所给定内容相匹配的内容,如果发现匹配内容,则进行下一步编程。如果找不到匹配内容,则继续处理下一行。 (2) awk实战 1 jfedu.txt文件中,查找jd.com这一行,在屏幕上打印出来(用awk和sed进行查

(1) awk原理

awk的原理是逐行处理文件中的数据,查找与命令行所给定内容相匹配的内容,如果发现匹配内容,则进行下一步编程。如果找不到匹配内容,则继续处理下一行。


(2) awk实战


<1> jfedu.txt文件中,查找jd.com这一行,在屏幕上打印出来(用awk和sed进行查找)

sed -n '/jd.com/p' jfedu.txt awk '/jd.com/' jfedu.txt

注释:

awk 和 sed 一样同样具有查找功能,不同的是awk进行查找时不需要加p参数

<2> jfedu.txt文件中,查找jd.com 和 baidu.com 这一行 ,在屏幕上打印出来(用awk和sed进行查找)


sed -n '/jd.com/,/baidu.com/p' jfedu.txt awk '/jd.com/,/baidu.com/' jfedu.txt


<3> jfedu.txt文件中,打印第一列和第二列

awk '{print $1,$2}' jfedu.txt


<4> jfedu.txt文件中,如写成这个样式(例如:1:2:3:4:5),用awk 打印出数字来(不要把:打印出来)

sed 's/:/ /g' jfedu.txt | awk '{print $1,$2,$3,$NF}'

注释:

$1 $2 $3 表示打印第一列 第二列 第三列

$NF 表示打印最后一列


<5> jfedu.txt文件中,打印第一行和第一列

awk '{print NR,$1}' jfedu.txt


<6> 打印jfedu.txt全部内容

awk '{print $0}' jfedu.txt


<7> 查看access.log日志文件,查找排名前20位的ip,从小到大进行排列,去掉重复的ip

awk '{print $1}' access.log | sort -nr| uniq-c | sort -nr| head -20


<8> 查看access.log日志文件, 查找9:00 - 10:00 , 查找排名前20名的ip,从小到大进行排列,去除重复ip

awk '/9:00/,/10:00/' access.log |awk '{print $1}' access.log | sort -nr| uniq-c | sort -nr| head -20


<9> 用df -h 查看磁盘分区 ,要求: 只查看大于等于第二行的内容 ,第一列

df -h | awk 'NR>=2 {print $1}'


<10> 打印passwd密码文件的第一列,并把输出的内容追加到name.csv文件中

awk -F: '{print $1}' /etc/passwd >name.csv


<11> awk 以冒号进行切割,打印passwd文件的第一列和最后一列,但只显示第三行和第五行

awk -F: 'NR==3,NR==5 {print $1}' /etc/passwd


<12> awk指定文件jfedu.txt文件中第一列的总和

cat jfedu.txt| awk '{sum+=$1}END {print sum}'


<13> awk NR 行号除于2余数为0,则跳过这行,继续执行下一行,打印在屏幕上

awk -F: 'NR%2==0 {next} {print NR,$1}' /etc/passwd


<14>awk NR 行号除于2余数为1,则跳过这行,继续执行下一行,打印在屏幕上

awk -F: 'NR%2==1 {next} {print NR,$1}' /etc/passwd


<15> awk分析Nginx日志状态码是404,502等错误页面,打印出页面打开时间,用户访问ip,,用户访问页面的地址,并对ip从小到大进行排序,查看排在前

20的ip

awk -F: '$9~/404|301|502|/ {print $1,$7,$9,$NF}' access.log | sort -nr| uniq-c | sort -nr | head -20|

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读