awk和grep使用实例分析
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"awk和grep使用实例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"awk和grep使用实例分析"吧!awk && grep
千家信息网最后更新 2026年11月01日awk和grep使用实例分析
这篇文章主要讲解了"awk和grep使用实例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"awk和grep使用实例分析"吧!
awk && grep 简介
日常工作中经常会使用 awk 和 grep 等命令做简单的数据统计工作,简便高效。awk 命令的最基本功能是在文件或者字符串抽取信息。通常 awk 是以文件的一行为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本。grep 命令则主要用于查找文件里符合条件的字符串。
awk
示例文件
// example.txt
a 10 200
a 30 100
b 20 300
c 10 100
c 20 800
c 30 600关键参数
-F:指定分隔符 FILENAME:文件名 NR:行号 NF:每行的列数 $0:变量是指整条记录 BEGIN 和 END:BEGIN 被放置在没有读取任何数据之前执行,一般用来做初始化操作,而 END 被放置在所有的数据读取完成以后执行,一般用来输出处理结果
示例
# 指定分隔符为空格,每次都打印文件名、行号、列数、当前行的内容
awk -F ' ' '{print "filename:"FILENAME,"linenumber:"NR,"columns:"NF, "linecontent:"$0}' example.txt
# 打印第一列
awk -F ' ' '{print $1}' example.txt
# 打印倒数第一列
awk -F ' ' '{print $NF}' example.txt
# 打印倒数第二列
awk -F ' ' '{print $NF-1}' example.txt
# 打印第二行整行
awk -F ' ' 'NR==2 {print "filename:"FILENAME,"linecontent:"$0}' example.txt
# 第二列求和
awk '{sum+=$2} END {print "sum: " sum}' example.txt
# 第一列为 key,第二列为 value,求每个 key 对应的所有 value 的和
awk '{sum[$1]+=$2} END {for(idx in sum) print idx, sum[i]}' example.txt
# 统计第一列的元素分别出现了几次
awk '{sum[$1]+=1}END{for(i in sum)print i,sum[i]}' example.txt
# 统计前两列元素出现的次数
awk '{sum[$1" "$2]++}END{for(i in sum)print i,sum[i]}'
# 统计第三列值 ≤500 和 >500 的行数
awk -F ' ' 'BEGIN{i=0;j=0}{if($3<=500){i++}else{j++}}END{print i,j}' example.txt
# 统计第三列值 ≤200、≤500(>200)、>500 的行数
awk 'BEGIN{i=0;j=0;k=0}{if($3<=200){i++}else if($3<=500){j++}else{k++}}END{print i,j,k}' example.txt
# 循环语句
awk 'BEGIN{for(i=1;i<=5;i++){print i}}'
awk 'BEGIN {{i=1}do{print i;i++} while (i<=5)}'grep
关键参数
-a :将 binary 文件以 text 文件的方式搜寻数据 -c :计算找到 '搜寻字符串' 的次数 -i :忽略大小写的不同,所以大小写视为相同 -n :顺便输出行号 -v : 反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行 --color=auto :可以将找到的关键词部分加上颜色
示例
grep [-acinv] [--color=auto] '搜寻字符串' filename
# 取出 /etc/passwd 文件中有 root 的行
grep root /etc/passwd
# 取出 /etc/passwd 文件中有 root 的行,同时显示行号
grep -n root /etc/passwd
# 将没有出现 root 的行取出来
grep -v root /etc/passwd
# 将没有出现 root 和 nologin 的行取出来
grep -v root /etc/passwd | grep -v nologin
# 使用 dmesg 列出关键信息,再以 grep 找出包含 eth 的行,将关键字所在的行的前 2 行和后 3 行一起取出来显示
dmesg | grep -n -A3 -B2 --color=auto 'eth'
# 在当前目录搜索带 energywise 行的文件
grep 'energywise' *
# 在当前目录及其子目录下搜索带 energywise 行的文件
grep -r 'energywise' *
# 在当前目录及其子目录下搜索带 energywise 行的文件,但是不显示匹配的行,只显示匹配的文件
grep -l -r 'energywise' *
感谢各位的阅读,以上就是"awk和grep使用实例分析"的内容了,经过本文的学习后,相信大家对awk和grep使用实例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
文件
关键
字符
字符串
统计
实例
实例分析
分析
内容
命令
数据
行号
一行
目录
示例
处理
学习
搜索
信息
元素
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手磨咖啡
科技与互联网
互联网科技卖菜
北京互联网科技有限公司
互联网科技公司发展
互联网 的科技创新
鑫亿盛互联网科技
深圳艾佳互联网科技
互联网科技汛
互联网金融监管科技
互联网科技创新企业排名
科技与互联网的利与弊
互联网科技产品
字节跳动和互联网科技
重庆互联网医院沙龙医盟信息科技
互联网科技研发水平
银行科技岗属于互联网吗
宇信科技在杭州互联网排第几
信承诺互联网科技有限公司
互联网科技平台产品运营
深圳市人人互联网科技有限公司
上海卓越科技互联网
互联网 科技馆
重庆威客帮互联网科技
玉溪互联网科技怎么选
江苏互联网智能科技软件
东营紫格互联网科技
互联网科技新闻
互联网科技创新创业项目
北京瑞云互联网科技有限公司