简单的文件汇总

给定文件a和b

a.txt

127.0.0.1 user1

127.0.0.1 user2

127.0.0.2 user3

127.0.0.3 user4

b.txt

127.0.0.6 userA

127.0.0.2 userB

 

计算两个文件各自的ip数,以及总ip数

cat a.txt | awk ‘{print $1}’ | sort | uniq > ip_a.txt

cat b.txt | awk ‘{print $1}’ | sort | uniq > ip_b.txt

A的ip数

cat ip_a.txt | wc -l

B的ip数

cat ip_b.txt | wc -l

 

总的ip数

cat ip_a.txt ip_b.txt > total.txt

cat total.txt | awk ‘{print $1}’ | sort | uniq > ip_total.txt

cat ip_total.txt | wc -l

 

出现在b.txt而没有出现在a.txt的ip

diff ip_a.txt ip_b.txt

 

每个username出现的次数,以及每个username对应的ip数

cat a.txt b.txt > users.txt

awk ‘ {++S[$NF]} END {for(a in S) print a, S[a]}’ users.txt

————————————————————————————————————

1.查各种连接状态数量

netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

2.输出第三行,第二列的值

ps auxc |grep -v PID | sort -k4nr | head -n 5 | awk ‘NR==3{print $2}’

3. 按照第4列,以数字方式降序排列

ps auxc | sort -k4nr

4.再取前5名

ps auxc | sort -k4nr | head -n 5

Leave a Reply