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

相关文章:

  • 构建前端安全左移实践:从本地到CI/CD的npm依赖自动化防护链
  • Android开发中LiveData与观察者模式的实践指南
  • 版图新手避坑指南:画电阻时,为什么你的LVS总报错?(附蛇形连线实战)
  • linux配置DNS主从服务器的实验步骤
  • Excel #NAME? 错误全解析:六大根源与实战排查指南
  • API 接口自动化测试详细图文教程学习系列22--结合Pytest框架使用3-分组、跳过执行和参数化处理
  • Git 给 main 分支打 Tag(版本标记)完整教程
  • 利用AI编程助手30分钟快速上手陌生代码库的方法论
  • AI重塑IT文档工作流:从日志到专业报告与SOP的自动化实践
  • 【DeepSeek知识产权合规白皮书】:20年AI法务专家亲授3大高危雷区与7步自检清单
  • 鸿蒙 App 架构:为什么页面越来越薄?
  • 全球小型电动线性驱动器市场稳中有进:2025年15.25亿美元筑基,2032年剑指22.47亿,5.8%CAGR锚定长期稳健增长逻辑
  • 全球反应等离子体沉积设备市场:预计2032年将达到8.63亿美元
  • 如何在Windows 10/11上安装Android子系统:WSABuilds完整指南
  • Unity Sentis兼容YOLOv8的NMS层问题与C#后处理方案
  • 从零搭建 Prometheus + Grafana 监控平台全攻略
  • 哨声响,数据动:耐高总决赛背后的AI力量
  • AI辅助开发工作流:从GitHub Issue到PR合并的系统化实践
  • 别再只用plot了!Matlab plotyy双Y轴绘图保姆级教程(含刻度、图例、线型全设置)
  • 从 MIPI ERR1/ERR2 到视频处理高手:Camera 调试必须掌握的底层排障方法
  • UNION vs UNION ALL:去重机制与执行计划性能差异详解
  • Excel簇状柱形图实战指南:多维离散数据对比可视化
  • 软件测试外包实战指南:独立团队、人员稳定与AI辅助的真相
  • 从ZIP解压到网络传输:深入浅出图解CRC-32校验的日常工作
  • Kali Linux下BurpSuite Pro完整部署与HTTPS抓包实战指南
  • AMD Ryzen 7 3800X + VMware 15.1.0 保姆级教程:手把手带你搞定macOS Catalina虚拟机(含避坑指南)
  • STC8单片机定时器中断里自增32位变量,为啥结果总出错?一个被忽略的8位机内存访问细节
  • 硬件在环(HIL)测试入门:如何用自制的60通道万能BOB盒搭建你的第一个汽车ECU测试台架?
  • CSS三大定位技巧全解析
  • 源代码论文分享|基于Java的企业OA管理系统的设计与实现!