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`