当前位置: 首页 > news >正文

linux三剑客-awk实战组合用法

echo -n '1,2,3|4,5,6|7,8,9' |awk 'BEGIN{RS="|";FS=","} {print $1,$2,$3}'

image

功能:

将字符串 1,2,3|4,5,6|7,8,9 按照指定的分隔符分割,并打印每一部分的三个字段。

参数说明:

echo -n '1,2,3|4,5,6|7,8,9': 输出字符串 1,2,3|4,5,6|7,8,9,不换行。

awk 'BEGIN{RS="|";FS=","} {print $1,$2,$3}':

BEGIN{RS="|";FS=","}: 设置记录分隔符(RS)为 |,字段分隔符(FS)为 ,。

{print $1,$2,$3}: 打印每行的前三个字段。

echo -n '1,2,3|4,5,6|7,8,9' |awk 'BEGIN{RS="|";FS=",";ORS=",";OFS="|"} {print $1,$2,$3}'

image

功能:

将字符串 1,2,3|4,5,6|7,8,9 按照指定的分隔符分割,并重新格式化输出。

参数说明:

echo -n '1,2,3|4,5,6|7,8,9': 输出字符串 1,2,3|4,5,6|7,8,9,不换行。

awk 'BEGIN{RS="|";FS=",";ORS=",";OFS="|"} {print $1,$2,$3}':

BEGIN{RS="|";FS=",";ORS=",";OFS="|"}: 设置记录分隔符(RS)为 |,字段分隔符(FS)为 ,,输出记录分隔符(ORS)为 ,,输出字段分隔符(OFS)为 |。

{print $1,$2,$3}: 打印每行的前三个字段,并使用 | 作为字段分隔符,[,] 作为记录分隔符。

cat mu_statistics.txt.172.168.105.131 | awk -v RS= '/average rate statistic/'

image

功能:

从 mu_statistics.txt.172.168.105.131 文件中提取包含 "average rate statistic" 的段落。

参数说明:

cat mu_statistics.txt.172.168.105.131: 输出文件内容。

awk -v RS= '/average rate statistic/':

-v RS=: 设置记录分隔符(Record Separator)为空字符串,表示将整个文件视为一个记录。这样可以按段落处理文件内容。

/average rate statistic/: 匹配包含 "average rate statistic" 的段落。

cat ModifyDistributionKey.log |awk '/2024-09-20 16:04:48/,/2024-09-23 20:29:22/'

image

awk 'NR==FNR{s[$1]=$2} NR!=FNR{print $1,$2,s[$1]}' score.txt user.txt

功能:

从 score.txt 文件中读取数据,将第一列作为键,第二列作为值存储在一个关联数组 s 中。

从 user.txt 文件中读取数据,打印每行的第一列和第二列,并在第三列添加从 score.txt 中获取的对应分数。

参数说明:

在 awk 中,NR 和 FNR 是两个内置变量,用于跟踪当前处理的记录号(行号)。

NR (Number of Record):

功能: 表示从开始处理文件以来的总记录数(行号)。它是全局计数器,适用于所有输入文件。

示例:

如果你处理多个文件,NR 会累加所有文件的行号。

例如,如果你有两个文件,第一个文件有5行,第二个文件有3行,NR 在处理第一个文件时会从1到5变化,在处理第二个文件时会从6到8变化。

FNR (File Number of Record):

功能: 表示当前文件中的记录数(行号)。它是每个文件的局部计数器,只计算当前文件的行号。

示例:

如果你处理多个文件,FNR 会在每个文件中重新从1开始计数。

例如,如果你有两个文件,第一个文件有5行,第二个文件有3行,FNR 在处理第一个文件时会从1到5变化,在处理第二个文件时会从1到3变化。

总结:

NR: 全局行号,累加所有文件的行号。

FNR: 当前行号,仅计算当前文件的行号。

这些变量在处理多文件输入时非常有用,可以帮助你在不同文件之间进行区分和操作。

NR==FNR: 在处理第一个文件(score.txt)时,NR 和 FNR 相等,表示当前处理的是第一个文件。

s[$1]=$2: 将 score.txt 文件中的第一列作为键,第二列作为值存储在关联数组 s 中。

NR!=FNR: 在处理第二个文件(user.txt)时,NR 和 FNR 不相等,表示当前处理的是第二个文件。

print $1, $2, s[$1]: 打印 user.txt 文件中的第一列和第二列,并在第三列添加从 score.txt 中获取的对应分数。

http://www.jsqmd.com/news/59441/

相关文章:

  • 口碑不错的吐司连续切片机生产厂家推荐
  • 开放式厨房绝配!2025年油烟吸力表现卓越的十大集成灶品牌权威推荐
  • 题解:Kuangyeyes Random Number
  • LightRAG:图增强检索框架,索引速度提升10倍
  • C语言基础数据类型
  • 国产化工业实时数据库推荐指南:麦杰科技聚焦核心需求,锁定实力之选
  • Top级高中物理辅导老师榜单:考点直击提分稳,家长学生放心选
  • MyBatis 进阶治理点——缓存、副作用、拦截与批处理的得失分析
  • 2025年哈尔滨全屋定制公司排名TOP5:汇源全屋定制品质优
  • 2025年有实力育雏育成养鸡设备/养鸡设备厂家推荐及采购指南
  • 2025年超低温防爆高低温一体机厂家推荐及采购指南
  • 2025年热门的注塑脚垫TPE颗粒/TPE颗粒料TOP品牌厂家排行榜
  • 2025年质量好的家用别墅电梯/观光别墅电梯厂家最新推荐排行榜
  • 2025年度中国媒介投放服务商TOP10权威榜单:精准赋能品牌增长
  • 2025年靠谱的橱衣柜拉手/铝合金衣柜拉手实力厂家TOP推荐榜
  • 2025年12月真空袋厂家采购指南:行业现状与优质供应商筛选策略
  • 2025年12月青岛海鲜饭店推荐榜单:五家知名餐厅综合对比与选择指南
  • 2025年如何安装自动环形绕线机厂家实力及用户口碑排行榜
  • 2025年热门的皮革挂衣杆最新TOP厂家排名
  • 2025年12月真空袋厂家市场报告:高性价比解决方案与避坑要点汇总
  • 2025年破碎机厂家推荐:哪家性价比最高?权威数据与案例验证
  • 2025年12月真空袋厂家推荐:榜单分析与选择指南
  • 2025年度中国宣传片制作服务商TOP10权威榜单:创意赋能品牌叙事
  • 2025年12月副业平台专业排行:基于真实数据与用户反馈的榜单
  • 2025年热门的高压空压机厂家最新用户好评榜
  • 2025年热门的高压旋转接头用户口碑最好的厂家榜
  • 2025年12月副业平台选择指南:基于用户场景的精准评价
  • 2025年口碑好的板式换热器机组厂家选购指南与推荐
  • 2025年靠谱的铝管弯管加工/三维弯管加工最新TOP品牌厂家排行
  • 2025北京监理公司推荐:全过程咨询与数字化管理创新服务保障