awk指令使用详解

awk命令格式

awk options program file 

awk命令参数可以选项使用说明

选项描述
-F fs指定行中分隔数据字段的字段分隔符
-f file指定读取程序额文件名
-V var=value定义awk中的一个变量及其默认值
-mf N指定要处理的数据文件中的最大字段数
-mr N指定数据文件中的最大数据行数
-W keyword指定awk的兼容模式或告警级别

awk从命令行读取程序脚本

awk脚本用一对花括号来定义。必须将脚本命令放在花括号中。由于awk命令行假定脚本是单个文本字符串,则必须将脚本放到单引号中,例如

awk '{print "Today is 10,24"}'

awk使用数据字段变量

变量用途
$0代表整个文本行
$1代表文本行中的第一个数据字段
$2代表文本行中的第二个数据字段
$n代表文本行中的第n个数据字段

例如

awk -F : '{print $1}' /etc/passwd

这个脚本显示了系统上密码文件第一列数据字段。

在程序脚本中使用多个命令

awk支持将多条命令组合到一条命令中执行。

echo "Today is Monday" | awk '{$3="Friday" ; print $0}'

第一条命令会将一个值赋值给$3字段变量,第二条命令会打印整个数据字段。

从文件中读取程序

cat showdir

{ print $1 "'s home directory is " $6 }

awk -F: -f showdir /etc/passwd\

showdir脚本定义了一个变量来保存print命令中用到文本字符串,注意awk脚本在引用变量时没有使用美元符号。

在处理数据前运行脚本

例如

awk 'BEGIN { print "The data file contents:" } { print $0 }' data

awk允许指定程序脚本何时运行。

在处理数据后运行脚本

例如

awk 'BEGIN { print "The data file contents:" } { print $0 } 
END { print "End of file" }' data

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值