【Linux】命令写在文件中并调用awk -f

时间:2023-03-09 04:09:16
【Linux】命令写在文件中并调用awk -f

我们在使用awk命令的时候,有时候命令特别长,在终端写出来格式太乱,难以阅读,以下是一个将命令写在文件中,并使用awk调用的具体案例

1.现在有文件file3.txt,内容如下:

【Linux】命令写在文件中并调用awk -f

2.ak2.awk脚本

#打印标题并格式化打印出数量合计
BEGIN { FS="\t" #设置字段分割符
printf("%10s %2s %5s %s\n\n",
"Fruits","Num","Price","Place" )
}
{ printf("%10s %2d %3d %s\n",$1,$2,$3,$4)
nm = nm + $2
}
END { printf("\n%10s %4d\n","Total",nm) }

上面这个程序在BEGIN的动作里将字段分割符设置为制表符(\t),并在输出之前打印标题,第二个printf语句(对每一输入行都会执行),将输出格式化为一张表格,使得每一列都与标题列表头对齐,END打印数量总和。

3.执行程序

awk -f ak2.awk file3.txt

4.输出结果

【Linux】命令写在文件中并调用awk -f