1.查看一个文件中的域名出现个数,并且按照次数从高到低
cat test2 | cut -d “/” -f 3 | uniq -c | sort-n | sort -nr
2.查看当前哪些IP和我们的服务器建立了连接并且按照次数从高到低
netstat -anp | grep “ESTABLISHED” | awk ‘{print $5}’ | cut -d “:” -f 1 | sort -n | uniq -c | sort -nr
3.tr命令 -c (使用第一字符集)
替换标准输入中不符合字符集的字符
例如: 替换这一串中不属于(第一字符集)数字的字符,且将它们换成a
echo “aa 3 .. +1svc2 s4 asa$” | tr -c ‘0-9\n’ a
tr命令 -d (删除属于第一字符集的内容)
echo “aa3 ..+1svc2 s4 asa$” | tr -d ‘0-9’
tr -dc 将不在字符集中的字符删除(删除不属于第一字符集的内容)
echo “aa3 ..+1svc2 s4 asa$” | tr -dc ‘0-9\n’
4.在一个目录下面生成10个文件,文件的前6个是字母数字组合,以_gg.txt结尾`#!/bin/bash
if [ ! -d /hutest ]
then
mkdir /hutest
fi
cd /hutest
for ((i=1;i<=10;i++))
do
filename=(tr−dc′A−Za−z0−9′</dev/urandom∣head−c6)touch”(tr−dc′A−Za−z0−9′</dev/urandom∣head−c6)touch”filename”_gg.txt
done
`
随机字符串生成
/dev/random 依赖系统中断生成随机字符串,保证数据随机性,但是生成数据慢,占用系统进程资源
/dev/urandom 不依赖终端生成随机字符串,生成数据速度快,但是数据随机性不足(一般使用这个)
5.批量检查多个网站是否可以正常访问,使用shell数组实现,尽量模拟真实访问模式
使用curl
6.shell打印某行内容
awk NR==10 test3
sed -n ’10p’ test3 // ‘1,10p’即打印1到10行
写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。
假设 words.txt 内容如下:
the day is sunny the the
the sunny is is
cat words.txt|tr -s ‘ ‘ ‘\n’ | sort | uniq -c | sort -nr | awk ‘{print $2,$1}’