awk案例

查看apache的cpu,内存
ps aux | awk 'BEGIN {CPU=0;MEM=0} /httpd/ {CPU = CPU + $3 ; MEM = MEM + $4} END {print "cpu used " CPU "mem used "  MEM}'
arp -n|awk '/^[1-9]/ {print "arp -d "$1}' | s h
awk '{a[$1]+=$2;b[$1]+=$3}END{for(i in a)print i,a[i],b[i]}'   aa.txt
awk '/a/{sum+=$2} END {print sum}'  aa.txt
cat /etc/passwd | awk '/root|ssh/'
cat /etc/passwd |  awk '/root/'
awk -F :  '$6=="/root"{print $0}'  /etc/passwd
awk  'NR==3 {print $0}' /etc/passwd
cat /etc/passwd |  awk -F : '$6=="/root" {print $0}'

awk -F :  '$3<10 {print $0}' /etc/passwd

[root@ungeoxliu data]# cat aaa
a 2 3
b 1 2
c 3 4
a 3 7
b 2 1
c 9 7
d 1 1
[root@ungeoxliu data]# awk '{a[$1]+=$2;b[$1]+=$3}END{for(i in a)print i,a[i],b[i]}' aa
a 5 10
b 3 3
c 12 11
d 1 1
4:每次从文件里读入一行:
cat /data/ftp/***.txt | while read line
do
    echo $line
done
###########
cat /etc/passwd | awk '/root|ssh/'
awk -F : '$6=="/root"{print $0}'  /etc/passwd
 awk'{sum[$1]+=$2};END{for(i in sum)print i,sum[i]}' test
 ######
 cat bb |  awk '/a/{sum+=$2};END {print sum}'
 #######
echo "aaa 1
aaa 1
ccc 1
aaa 1
bbb 1
ccc 1" |awk '{a[$1]+=$2}END{for(i in a) print i,a[i]}'
aaa 3
bbb 1
ccc 2
###########
cat aa | while read line
do
echo $i
(echo "press:";exec < /dev/tty;read key)
let i++
#(echo "press any key:";exec </dev/tty)
done
############
[root@test2 ~]# cat /etc/passwd |  awk -F : '{print $3}'
500
0
501
502
503
[root@test2 ~]# cat /etc/passwd |  awk -F : '{print $3}' | awk '{sum+=$1};END{print sum}'
2006     有且只有一列求和情况
################


你可能感兴趣的:(apache,awk,正则表达)