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

awk入门

awk 学习 1 内置变量 变量 含义 示例 $0 当前整行内容 print $0 打印整行 $1、$2... 第1、2...个字段 print $1, $3 NF 当前行的字段个数 print NF NR 当前已读的行号(所有文件累计) print NR, $0 FNR 当前文件内的行号(每个文件重置) 处理多文件时区分用 FS 字段分隔符(输入),默认空格 BEGIN{FS=","} OFS 输出字段分隔符,默认空格 BEGIN{OFS="|"} RS 记录分隔符(输入),默认换行符 BEGIN{RS=""} 处理空行分隔 ORS 输出记录分隔符,默认换行符 BEGIN{ORS="\n\n"} 2 模式 类型 语法 示例 含义 空模式 无 {print $1} 每一行都执行 正则表达式 /正则/ /^root/ 匹配该正则的行 表达式 表达式结果非0或非空 $3 > 100 条件为真的行 范围模式 模式1, 模式2 /start/,/end/ 从匹配模式1到模式2的行 特殊模式 BEGIN / END BEGIN{...} 处理前/后执行一次 3 动作 类型 示例 打印/输出 print、printf 变量赋值 sum = $1 + $2 算术/逻辑运算 total += $3 条件判断 if...else、switch 循环 while、for、do...while 数组操作 arr[$1] = $2 流程控制 break、continue、next、exit 函数调用 length($0)、gsub()、srand() 分组 { 多个语句; 用分号隔开 } 4 自定义变量 方式 语法 作用范围 示例 脚本内赋值 变量名 = 值 整个 awk 脚本 sum = 0 -v 选项 awk -v var=value 可在 BEGIN 块中使用 awk -v sep="," '{print $1}' 命令行赋值 awk '脚本' var=value 在读取文件前生效,可动态 awk '{print $1}' max=100 file.txt 5 常见正则 元字符 含义 示例 匹配内容 . 任意单个字符(除换行符) a.c abc、a&c、a c ^ 行首 ^root 以 root 开头的行 $ 行尾 bash$ 以 bash 结尾的行 * 前一个字符重复 0 次或多次 a*b b、ab、aaab ? 前一个字符重复 0 次或 1 次 colou?r color、colour [...] 字符集合中的任意一个 [0-9] 任意数字 [^...] 不在字符集合中的任意一个 [^0-9] 非数字字符 | 或(gawk 支持 | 或 |) error|warning error 或 warning (...) 分组 (abc)+ abc、abcabc {n} 重复 n 次 [0-9]{4} 4 位数字 {n,} 重复至少 n 次 a{2,} aa、aaa、aaaa {n,m} 重复 n 到 m 次 [0-9]{2,4} 2~4 位数字
http://www.jsqmd.com/news/888461/

相关文章:

  • 昇腾CANN社区治理:一个PR从提交到合并的全过程
  • 2026年4月套膜机产品推荐,打包缠膜一体机/行李包装机/自动缠膜机/摇臂缠膜机/自动缠绕机/包装机,套膜机制造商如何选 - 品牌推荐师
  • 利用AI编程助手30分钟快速上手陌生代码库的方法论
  • Unity游戏翻译深度解析:XUnity.AutoTranslator原理与优化实战
  • Unity微信小游戏实战:突破首包限制与WXSS兼容性难题
  • 线程任务执行报错后,线程会不会挂掉,Java线程池
  • 多平台同稿如何一键改写?5款AI文案工具对比帮你避坑
  • Python TDD实战入门:从red-green-refactor到高覆盖率测试套件
  • Git 给 main 分支打 Tag(版本标记)完整教程
  • 昇腾CANN开源竞赛,从参赛到获奖的实战攻略
  • UOS系统维护实战:用一条命令批量清理旧内核与无用依赖,为你的系统‘瘦身’
  • 2026年5月上海搬家公司推荐:五个口碑搬家服务专业评测价格适用场景 - 品牌推荐
  • AI智能体规模化运维:从上下文污染到系统防劣化的工程实践
  • WebStorm提交Gitee失败:31mlncorrect错误与access token认证详解
  • ops-transformer的MoE算子,让混合专家模型训练快5倍
  • 源代码论文分享|基于Java的企业OA管理系统的设计与实现!
  • 保姆级教程:在Windows上从零跑通TASSEL 5.0的GWAS分析(附示例数据避坑指南)
  • linux配置DNS主从服务器的实验步骤
  • API 接口自动化测试详细图文教程学习系列22--结合Pytest框架使用3-分组、跳过执行和参数化处理
  • PTA L1-005 考试座位号:用C语言结构体搞定考场查询系统(附完整代码)
  • 【最新 v2.7.5】Windows 版 OpenClaw 一键包:2026 年程序员 / 运营 / 行政都在偷偷用的提效暗器
  • ROS1 Action通信从入门到放弃?不,是到精通!详解actionlib库与自定义消息实战
  • Excel #NAME? 错误全解析:六大根源与实战排查指南
  • 大模型安全全景解析——从DeepSeek看AI伦理与未来挑战
  • AI Agent记忆系统构建指南:从向量数据库到智能检索的完整实现
  • 第4篇:数据博弈——税务大数据如何“看见”你的企业
  • 【DeepSeek知识产权合规白皮书】:20年AI法务专家亲授3大高危雷区与7步自检清单
  • CSS三大定位技巧全解析
  • D2DX:如何让20年前的《暗黑破坏神2》在现代4K显示器上完美运行?
  • 从一次CAN总线‘丢帧’排查说起:深入理解扩展帧过滤器的‘列表模式’与‘掩码模式’到底怎么选