awk '{sum+=$1};{print sum}' log
will print out the sum
at each step.
awk '{sum+};END{print sum}' log
will only print out the final step.
1.2 Above commands divide each column by \space
or \tab
by default. You can customize the division character by -F
:
awk -F "," '{print $1}' log
will divide each column by ,
and print out the first column.
awk 'BEGIN{first=1;} {if (first) { max = $1; first = 0; next;} if (max < $1) max=$1;} END {print max}' log
will print out the maximal value in the first column of the log.
awk 'BEGIN{first=1;} {if (first) { min = $1; first = 0; next;} if (min > $1) min=$1;} END {print min}' log
will print out the minimal value.
awk 'BEGIN{first=1;} {if (first) { max = min = $1; first = 0; next;} if (max < $1) max=$1; if (min > $2) min=$2; } END { print min,max}' log
will print put both minimal and maximal value.
cat log |awk 'BEGIN{row=1}{if(row==1) {time=$3} printf("%0.0f\t%d\n", (($3-time)/60), ($2-$1)); row++}'
ps -ef |grep 'nginx' |awk '{print $2}' |xargs kill -9
will kill all the processes whose name contains nginx
.