前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >awk命令用法大全

awk命令用法大全

原创
作者头像
玖叁叁
发布2023-04-09 14:58:50
1.2K1
发布2023-04-09 14:58:50
举报
文章被收录于专栏:玖叁叁玖叁叁

Awk 是一个非常强大的文本处理工具,它可以对文本文件进行数据提取、过滤、转换和格式化等操作。Awk 的语法比较简单,但功能非常强大,掌握它可以大幅提高文本处理的效率。下面是 Awk 的一些常用用法,供大家参考。

Awk 命令的基本语法

Awk 命令的基本语法如下:

代码语言:javascript
复制
awk 'pattern {action}' filename

其中 pattern 是匹配文本的条件,action 是对匹配的文本进行操作的命令,filename 是待处理的文件名。如果省略 filename,则 Awk 命令会从标准输入读取数据。

Awk 命令的工作原理

Awk 命令的工作原理是逐行读取文件,然后将每一行的文本按照指定的分隔符划分成一系列的字段。在处理每一行文本的时候,Awk 会根据指定的 pattern 来进行匹配,如果匹配成功,则执行对应的 action。

Awk 命令的常用选项

以下是 Awk 命令的一些常用选项:

  • -F 指定分隔符
  • -v 定义变量
  • -f 指定 awk 脚本文件

Awk 命令的常用模式

以下是 Awk 命令的一些常用模式:

  • /pattern/ 匹配包含 pattern 的文本行
  • $n 匹配当前行的第 n 个字段
  • NR == n 匹配第 n 行
  • NF > n 匹配有超过 n 个字段的行

Awk 命令的常用操作

以下是 Awk 命令的一些常用操作:

  • print 打印指定的文本或变量
  • printf 格式化打印指定的文本或变量
  • getline 读取下一行的文本
  • length 计算指定文本或变量的长度
  • substr 提取指定文本或变量的子字符串
  • split 将指定文本或变量按照指定的分隔符划分为数组

Awk 命令的示例

以下是 Awk 命令的一些示例:

打印文件的每一行

代码语言:javascript
复制
awk '{print}' filename

打印文件的第一列和第三列

代码语言:javascript
复制
awk '{print $1,$3}' filename

根据第一列进行排序

代码语言:javascript
复制
awk '{print $0}' filename | sort -k1

打印文件的第一列和第三列,以逗号为分隔符

代码语言:javascript
复制
awk -F, '{print $1,$3}' filename

根据指定的条件进行匹配和打印

代码语言:javascript
复制
awk '/pattern/ {print $0}' filename

根据第一列进行求和

代码语言:javascript
复制
awk '{sum += $1} END {print sum}' filename

根据第一列进行分组并计算每组的平均值

代码语言:javascript
复制
awk '{sum[$1] += $2; count[$1]++} END {for (i in sum) print i, sum[i]/count[i]}' filename

按照指定的格式打印文本

代码语言:javascript
复制
awk '{printf "%-10s %-10s %10s\n", $1, $2, $3}' filename

读取多个文件并打印每个文件的行数和字节数

代码语言:javascript
复制
awk '{lines += NR; bytes += length} END {print lines, bytes}' filename1 filename2

判断文本是否符合指定的条件并进行处理

代码语言:javascript
复制
awk '/pattern/ {if ($1 > 10) print "large"; else print "small"}' filename

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Awk 命令的基本语法
  • Awk 命令的工作原理
  • Awk 命令的常用选项
  • Awk 命令的常用模式
  • Awk 命令的常用操作
  • Awk 命令的示例
  • 打印文件的每一行
  • 打印文件的第一列和第三列
  • 根据第一列进行排序
  • 打印文件的第一列和第三列,以逗号为分隔符
  • 根据指定的条件进行匹配和打印
  • 根据第一列进行求和
  • 根据第一列进行分组并计算每组的平均值
  • 按照指定的格式打印文本
  • 读取多个文件并打印每个文件的行数和字节数
  • 判断文本是否符合指定的条件并进行处理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档