一、awk简介
awk是一种语言,适合文本处理和报表生成,借鉴了某些语言的精华如c语言等。awk是三剑客老大。grep 过滤查找内容;sed 取行,替换,删除,追加内容;awk 取列。
二、

语法:awk [option] 'pattern{action}' file
参数:-F 指定分隔符 #awk -F ":" '{print $1}' awk.txt
#awk -F ":" '{print $1,$5}' awk.txt
$1 表示第一列
$2 表示第二列
...
$NF 表示最后一列
$NF-1 表示倒数第二列
$NF-2 表示倒数第三列...
NR 表示行号
打印第1、3列及最后一列:
#awk -F":" '{print $1,$3,$NF}' awk.txt ;
取第2行到第3行的内容:
#awk 'NR>1&&NR<4' awk.txt;
删除r开头的行:
#awk '/^[^r]/' awk.txt;
打印第1-3行,并打印行号:
#awk '{print $1,$2,$NR,NR}' awk.txt ;
取IP地址:
#ifconfig eth0|awk 'NR==2{print $2}';
#ifconfig eth0|awk 'NR==2{print $2}'|awk -F ":" '{print $2}';
+表示连续的也为分隔符:
#ifconfig eth0|awk -F "[: ]+" 'NR==2{print $4}';
补:
cut 按列切割
参数:-d 指定分隔符
-cn1-n2 从第n1个字符开始输出到第n2个字符
-fn 定列n是数字
#cut -d 'd' -f1 grep.txt ,必须是字符分割




