shell三剑客-awk
awk
awk命令是shell中重要的命令之一,功能是在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息。
常用变量:
$0 表示整个当前行
$1 每行的第一个字段
NF 字段数量变量
NR 每行的记录号,多文件记录递增
{print} 类似于显示的意思,后面可以跟$位置变量显示相应的字段
-f 使用awk脚本文件
-F 指定分隔符
每行按空格分割,输出文本的1和4字段
awk "{print \$1,\$4}" log.txt
输出1-3行内容
awk "NR==1,NR==3{print}" log.txt
awk "(NR>=1)&&(NR<=3){print}" log.txt
输出奇数行
awk "(NR%2)==1{print}" log.txt
使用awk脚本
awk -f cal.awk log.txt
指定分隔符
awk -F ":" "{print \$1}" log.txt