写一个脚本,实现判断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' 4 the
3 to
2 was
2 months
2 I
[root@localhost scripts]#

[root@localhost scripts]# tr " ," "\n" 4 the
3 to
2 was
2 months
2 I
[root@localhost scripts]#

[root@localhost scripts]# awk -F "[ ,.]+" '{for(i=1;i4 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;i33 t
20 o
18 n
18 e
17 i
[root@localhost scripts]#