有两个文件a.txt和b.txt,需求是,把a.txt中有的但b.txt中没有的行找出来,并写入到c.txt,然后计算c.txt文件的行数。

#!/bin/bash cat a.txt|while read line do if ! grep -q "$line" b.txt then echo $line fi done >c.txt wc -l c.txt

把当前用户下所有进程名字中含有"xxx"的进程关闭。 #!/bin/bash ps -u $USER|awk '$NF ~ /xxx/ {print $1}' |xargs kill

用shell实现,以并发进程的形式将mysql数据库所有的表备份到当前目录,并把所有的表压缩到一个压缩包文件里。

假设数据库名字为mydb,用户名为aming,密码为passwd。 #!/bin/bash N=5 mysql -uaming -ppasswd mydb -e "show tables"|sed '1d' > /tmp/table.txt n=`wc -l /tmp/table.txt|awk '{print $1}'

div() { n=echo "scale=1;$1/$2"|bc n1=echo "scale=1;$n+0.5"|bc echo $n1|cut -d. -f1 }

n1=div $n $N

split -l $n1 /tmp/table.txt

myd() { for t in cat $1 do mysqldump -uaming -ppasswd mydb $t > $t.sql done }

for f in xaa xab xac xad xae do myd $f & done

wait tar czf mydb.tar.gz *.sql rm -f *.sql

一个网站,使用了cdn,全国各地有几十个节点。需要你写一个shell脚本来监控各个节点是否正常。 假如 监控的url为www.aming.com/index.php 源站ip为88.88.88.88。

#!/bin/bash s_ip=88.88.88.88 url=www.aminglinux.com/index.php ipf=/data/ip.list

curl -x$s_ip:80 $url 2>/dev/null >/tmp/source.txt for ip in cat $ipf do curl -x$ip:80 $url 2>/dev/null >/tmp/$ip.txt diff /tmp/source.txt /tmp/$ip.txt > /tmp/$ip.diff

n=`wc -l /tmp/$ip.diff|awk '{print $1}'`
if [ $n -gt 0 ]
then
echo "节点$ip有异常."
fi

done

已知下面的字符串是通过RANDOM随机数变量md5sum|cut -c 1-8截取后的结果,请破解这些字符串对应的md5sum前的RANDOM对应数字? 21029299 00205d1c a3da1677 1f6d12dd 890684ba #!/bin/bash for i in seq 0 32767 do m=echo $i|md5sum |cut -c 1-8 echo $i $m done > /tmp/md5.txt

cat > c.txt <<EOF 21029299 00205d1c a3da1677 1f6d12dd 890684ba EOF

grep -f c.txt /tmp/md5.txt