写一个脚本,实现判断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]#