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

awk命令详解以及使用方法

awk命令详解以及使用方法

awk 是一种文本处理工具,它可以逐行扫描文本文件,根据用户指定的规则进行匹配和处理,并输出结果。awk 的名称来自于三位创始人 Alfred Aho、Peter Weinberger 和 Brian Kernighan 的首字母缩写。

awk 通常用于处理以文本形式存储的数据文件,如日志文件、配置文件等。它可以执行的操作包括数据提取、过滤、转换、计算等。在 Linux 和 Unix 系统中,awk 是非常常用的命令之一。

基本语法

awk options 'pattern { action }' file

其中,options 表示 awk 的选项,pattern 表示匹配规则,action 表示处理动作,file 表示要处理的文件名。

awk 命令的常用选项:

  • -F:指定字段分隔符,默认为制表符。
  • -v:定义一个变量。
  • -f:从指定文件中读取 awk 脚本。

pattern 是一个模式,用于匹配文本中的某一部分。模式可以是一个正则表达式,也可以是一个简单的字符串。当模式匹配成功时,awk 将执行 action 中指定的动作。

action 可以是一个或多个命令,用花括号 {} 括起来。每个命令都以分号 ; 结尾。awk 支持的命令包括:

  • print:输出文本。
  • printf:按指定格式输出文本。
  • if:条件语句。
  • for:循环语句。
  • while:循环语句。
  • getline:读取下一行数据。

常用用法

打印文件的指定行数

shell
awk 'NR==5' file.txt

按列打印文件内容

shell
awk '{ print $1,$2 }' file.txt

按条件过滤文件内容

shell
awk '{ if ($1=="foo") print $0 }' file.txt

计算文件内容的平均值

shell
awk '{ sum += $1 } END { print sum/NR }' file.txt

以逗号为分隔符连接多行内容

shell
awk '{ printf("%s,",$0) } END { printf("\n") }' file.txt

从多个文件中提取指定列的数据

shell
awk -F"," '{ print $2 }' file1.txt file2.txt
http://www.lryc.cn/news/58147.html

相关文章:

  • vue-router3.0处理页面滚动部分源码分析
  • 走心Python实战应用:【requests+re 模块】快速下载原shen图片
  • Comparable和Comparator的使用
  • 【OJ每日一练】1121 - 耐摔指数
  • vue项目Agora声网实现一对一视频聊天Demo示例(Agora声网实战及agora-rtc-vue使用,新增在线预览地址)
  • 集成时间序列模型提高预测精度
  • (详细)《美国节日》:某月的第几个星期几
  • 架构设计的历史背景
  • C#,初学琼林(06)——组合数的算法、数据溢出问题的解决方法及相关C#源代码
  • MySQL数据库——绘制E-R图:数据库概要设计阶段
  • 对类和对象的理解
  • edge-tts微软文本转语音库,来听听这些语音是否很熟悉?
  • MySQL更换存储引擎
  • filebeat收集不规则多行日志
  • Token Contrast for Weakly-Supervised Semantic Segmentation
  • Jenkins运行在docker中使用Maven构建Java应用程序
  • 将excel导入到sqlite的方法代码
  • Redis主从复制、哨兵和集群部署
  • protobuf序列化
  • 更新时无冲突的情况(阁瑞钛伦特软件-九耶实训)
  • 3.4 函数的单调性和曲线的凹凸性
  • LeetCode 404. 左叶子之和 | C++语言版
  • arm架构安装Rancher并导入k8s集群解决Error: no objects passed to apply
  • 安装PaddleSpeech
  • UE “体积”的简单介绍
  • 微信 JAVA SDK 封装
  • 上海智慧校园视频智能分析算法 yolov7
  • 【树】你真的会二叉树了嘛? --二叉树LeetCode专题
  • 《LeetCode 热题 HOT 100》——寻找两个正序数组的中位数
  • Unity- 游戏结束以及重启游戏