当前位置: 首页 > 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.gsyq.cn/news/69893.html

相关文章:

  • 开放式厨房绝配!2025年油烟吸力表现卓越的十大集成灶品牌权威推荐
  • linux三剑客-grep实战组合用法
  • 2025年热门的注塑脚垫TPE颗粒/TPE颗粒料TOP品牌厂家排行榜
  • 2025年质量好的家用别墅电梯/观光别墅电梯厂家最新推荐排行榜
  • 2025年靠谱的橱衣柜拉手/铝合金衣柜拉手实力厂家TOP推荐榜
  • 2025年热门的皮革挂衣杆最新TOP厂家排名
  • 2025年12月真空袋厂家市场报告:高性价比解决方案与避坑要点汇总
  • 2025年热门的高压空压机厂家最新用户好评榜
  • 2025年12月深圳离婚律所推荐排行榜:五家专业机构深度对比与选择指南
  • 2025年优秀的车铣复合/车铣复合数控车床优质厂家推荐榜单
  • 2025年12月深圳离婚律所推荐排行榜单:五家专业机构对比分析
  • 2025年婚内财产协议律师电话联系方式汇总:全国重点城市专业律师联系方式与高效咨询指引
  • 2025年热门的高端住宅地暖管TOP实力厂家推荐榜
  • 2025年北京离婚律师电话联系方式完整汇总:全国知名律师官方联系方式与专业咨询指引
  • 2025年诚信的智慧箱式变电站用户口碑最好的厂家榜
  • 2025年比较好的液压水渠成型机TOP实力厂家推荐榜
  • 2025年靠谱的球团脱硝催化剂/60孔催化剂厂家最新TOP排行榜
  • 2025年口碑好的成都鲈鱼饲料推荐与测评榜
  • 自动驾驶汽车如何感知与定位:技术详解
  • 2025年热门的硅胶辊/镭射胶辊最新TOP品牌厂家排行
  • 2025年十大装饰焊管定制源头厂家排行榜,推荐焊管定制加工/
  • 2025年口碑好的中温脱硝催化剂/平板式脱硝催化剂厂家推荐及选购指南
  • 2025年比较好的超临界萃取设备/超临界萃取厂家推荐及选择指南
  • 2025年知名的数控折弯机模具实力厂家TOP推荐榜
  • 2025靠谱的摄影灯厂家TOP5权威推荐:甄选摄影灯实力品牌
  • 2025年知名的钢板锯切专机/铝板锯切专机厂家最新TOP排行榜
  • 2025年口碑好的弥散供氧制氧机/弥散供氧制氧设备厂家推荐及选购指南
  • 2025年北京五大破产清算律师事务所推荐,看看哪家口碑好
  • 2025比较好的英国留学中介公司
  • 这是我对所有迷茫的人的建议