NAME
gawk - pattern scanning and processing language
| Operation | Command |
|---|---|
| 1st column | awk '{ print $1 }' FILE |
| 1,4 column | awk '{ print $1 $4 }' FILE |
| 2 column , “:” is filed sepalater | awk -F: '{ print $2 }' |
#echo "1 2 3 4 5" | awk '{ print $1,$3 }'
1 3
#
#echo "1 2 3 4 5" | awk '{ print $1 $3 }'
13
#
#echo "1 2 3 4 5" | awk '{ print $1 "," $3 }'
1,3
#
#echo "1 2 3 4 5" | awk '{ print $NF }'
5
#
#echo "1 2 3 4 5 6 7 8" | awk '{ {for(i=2;i<NF;i++)printf("%s ",$i) }print($NF) }'
2 3 4 5 6 7 8
#
#echo "1 2 3 4 5" | awk '{print $1 " " $4 }'
1 4
#
#echo "1 2 3 4 5" | awk '{print $1 "\t" $4 }'
1 4
#
#echo "1 2 : 3 4 : 5" | awk -F: '{ print $2 }'
3 4
#
awk '{print " '\'' " }'
awk "{print \"'\" }"
#You need to escape the "$"
awk '{print "\x27"}'
awk '{print "\047"}'
counttime (){
#test
#cat $1 | awk -v min=$2 -v max=$3 'BEGIN{i=0,FS=",";OFS=","} {if($4 >= min && $4 < max) print $4}'
cat $1 | awk -v min=$2 -v max=$3 'BEGIN{i=0,FS=",";OFS=","} {if($4 >= min && $4 < max) i++} END {print min"ms",max"ms",i "count";}' >> $OUTPUT
}
countnum () {
counttime $2 0 100
counttime $2 100 200
counttime $2 200 300
counttime $2 300 400
counttime $2 400 500
counttime $2 500 10000
}
awk -F, '{ if($9=NULL) print $6 "," $9 }'
awk -F, '{ if($9!=NULL) print $6 "," $9 }'
cat httpd.log | awk -F'\t' '$14=="JP" {print $3}'
vmstat 1 86400 | awk '{print strftime("%Y/%m/%d %H:%M:%S"), $0} { system(":") }' >> vmstat.`date +%Y%m%d`