awk 简单用法

AWK学习

基本内容

背景:awk是处理文本文件的一个应用程序,几乎所有 Linux 系统都自带这个程序。它依次处理文件的每一行,并读取里面的每一个字段。对于日志、CSV 那样的每行格式相同的文本文件,awk可能是最方便的工具。

# 格式
$ awk 动作 文件名

# 示例
$ awk '{print $0}' demo.txt

# 含义
$0: 表示当前行
$1 $2 $3: 分别表示当前行的第1、2、3个字段

NF: 变量 表示当前行有多少个字段
$NF: 表示最后一个字段

忽略第一行

awk 'NR>1{print $0}'

指定分隔符

# 指定分隔符为:  默认为空格、制表符
awk -F ':'

awk内置变量

# awk 内置变量
NF       # 当前行的总共多少个字段
NR       # 当前正在处理的时候第几行
FILENAME # 当前文件名
FS       # 行分割符,默认是空格和制表符
RS       # 行分割符,用于分割每一行,默认是换行符
OFS      # 输入字段的分割符,用于打印时分割字段,默认是空格
ORS      # 输出记录的分割符,用于打印时分割记录,默认是换行符
OFMT     # 数字输出的格式,默认是%.6g

修改内置变量

awk -v FS=',' -v OFS=' ' '{print $1}' 文件名

更多内容,参考:awk的基本用法

例子

词组 加双引号

挂号->口腔健康档案->检查->洗牙->喷砂->抛光->牙周上药->口腔健康指导->其他

# 指定输入换行符为 ->   输出换行符为回车
pbpaste | awk -v RS="->" -v ORS="\n"  '{print $0}'
挂号
口腔健康档案
检查
洗牙
喷砂
抛光
牙周上药
口腔健康指导
其他


# 每一行两边加上"",
pbpaste | awk '{print "\""$1"\","}'
"挂号",
"口腔健康档案",
"检查",
"洗牙",
"喷砂",
"抛光",
"牙周上药",
"口腔健康指导",
"其他",

# 完工
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值