awk和grep使用实例分析
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要讲解了"awk和grep使用实例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"awk和grep使用实例分析"吧!awk && grep
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
网络安全工作务虚会
马桶c玩过的服务器
关于网络安全技术部条幅
2021国家对网络安全
学生运动会成绩数据库
软件开发招聘深圳职友集
mt4服务器出租
数据库安全检查工具
服务器柜安装孔距
软件开发公司财务预算
数据库三范设计
政府采购网空调数据库
数据库技术题库及答案中英文
cs1.6服务器ip地址怎么用
湖南专科网络安全哪个学校好
商丘政务软件开发报价
华为云服务器网站排版
网络安全称号精选
无锡软件开发工资怎么样
tv软件开发是什么
行动派互联网科技有限公司
安徽网络技术转让参考价
sr158服务器换硬盘视频
读秀数据库有没有提供出版物检索
阿里云服务器安全组新增
计算机三级网络技术真题答案
管家婆生产软件开发
数据库创建模式作用
数据库两个字段合并成一个字段
网络服务器硬件的要求