awk常用示例
split
分割文件
split
分割文件awk
批量处理行
awk
批量处理行awk
不仅仅是一个命令行工具,而且还是一门种编程语言;不过在大多数场景下,命令行的使用方式已经足够了;awk
主要用于处理格式化的文本文件,对每一行数据进行相同的操作,以重构文件或筛选信息;相比使用 python 处理,
awk
的启动更快,成本更低(Linux环境下,且熟练掌握后);
基本使用
script 只能被单引号包含
Reference
【官网】 Top (The GNU Awk User’s Guide) ( https://www.gnu.org/software/gawk/manual/html_node/Index.html )
awk 入门教程 - 阮一峰的网络日志 ( http://www.ruanyifeng.com/blog/2018/11/awk.html )
Linux awk 命令 | 菜鸟教程 ( https://www.runoob.com/linux/linux-comm-awk.html )
内建变量
awk
内建了一些常用变量,
变量
描述
$n
一行中的第 n
个字段,分隔符由变量 FS
定义,n
从 1 开始,n=0
时表示当前行
FS
字段分隔符(默认是空格和tab)
A3
B3
内建函数
示例
正则过滤
一行转多行
输入
输出
命令
说明
/.../
: 正则 pattern,正则是awk
的基础,为了表达其特殊地位,使用/
符号包围gsub()
函数: 正则替换,默认有三个参数gsub(r,s,t)
,t
默认为当前行,即$0
,相当于gsub(r,s) == gsub(r,s,$0)
print
: 输出,默认输出当前行,即print == print $0
$i
:$0
表示当前行,$1、$2、...
表示
Last updated