菜鸟笔记
提升您的技术认知

awk指令使用详解-ag真人游戏

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
网站地图