awk命令
# awk '条件1{动作1} 条件2{动作2}….' 文件名
一般使用关系表达式作为条件
动作:1、格式化输出 2、流程控制语句-
处理cut命令无法截取空格的列
例子:截取出磁盘使用率
df -h | grep "sda1" | awk 'BEGIN{print "this is sda1 hard use persent:"} {print $5}' | cut -f 1 -d "%"
-
BEGIN关键字
a、在所有动作处理之前执行,可在输出文本首行添加脚本注释(如上例)
b、自定义截取字符,使用FS,必须添加BEGIN,删除首行
-
FN内置变量
自定义截取字符
awk '{FS=":"}{print $1 "\t" $3}' /etc/passwd
需要修改为
awk 'BEGIN{FS=":"}{print $1 "\t" $3}' /etc/passwd
-
END关键字
命令执行完毕,在输出文本末尾添加END注释
awk 'END{print "This is End Test!!"}{FS=":"}{print $1 "\t" $3}' /etc/passwd
-
关系运算符
显示磁盘占有率超过5%的磁盘
df -h | awk '$5>5{print $1 "\t" $5}' | cut -f 1 -d "%"