shell 脚本应用《八》多个脚本命令例子

写一个脚本,实现判断192.168.0.0/24网络里,当前在线用户的IP有哪些
命令:

nmap -sP 192.168.0.0/24
脚本1

#!/bin/bash

for I in seq 1 255
do
ping -c 2 -W 2 192.168.0.$I &>/dev/null
if [ $? -eq 0 ]
then
echo -e "192.168.0.$I is up."
else
echo -e "192.168.0.$I is down."
fi
done

单词及字母去重排序案例

[root@localhost scripts]# sed 's#[,.]##g' <test.log|tr " " "\n"|sort|uniq -c |sort -rn|head -5
4 the
3 to
2 was
2 months
2 I
[root@localhost scripts]#

[root@localhost scripts]# tr " ," "\n" <test.log|awk '{S[$1]++}END{for(k in S) print S[k],k}'|sort -rn|head -5
4 the
3 to
2 was
2 months
2 I
[root@localhost scripts]#

[root@localhost scripts]# awk -F "[ ,.]+" '{for(i=1;i<NF;i++)S[$i]++}END{for(k in S) print S[k],k}' test.log |sort -rn|head -5
4 the
3 to
2 was
2 months
2 I
[root@localhost scripts]#

[root@localhost scripts]# sed 's#[,. ]##g' test.log|grep -o "."|sort|uniq -c|sort -rn|head -5
33 t
20 o
19 e
18 n
17 i
[root@localhost scripts]#

按字母出现频率降序排序

方法1:去空格特殊字符后,然后利用grep的-o将字符竖向排列后处理。
[root@localhost scripts]# sed 's#[,. ]##g' test.log|grep -o "."|sort|uniq -c|sort -rn|head -5
33 t
20 o
19 e
18 n
17 i
[root@localhost scripts]#

[root@localhost scripts]# sed 's#[,. ]##g' test.log|grep -o "."|awk '{S[$1]++}END{for(k in S) print S[k],k}'|sort -rn|head -5
33 t
20 o
19 e
18 n
17 i
[root@localhost scripts]#

[root@localhost scripts]# sed 's#[,. ]##g' test.log|awk -F "" '{for(i=1;i<NF;i++)S[$i]++}END{for(k in S) print S[k],k}'|sort -rn|head -5
33 t
20 o
18 n
18 e
17 i
[root@localhost scripts]#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值