linux shell 脚本,批量删除

比如我现在有个目录是/home/wind,然后/home/wind目录下有很多子目录,比如q01,q02,ww,xmmk,ju,qq .....等等,然后每个子目录下都有个相同的目录www,然后我现在想写个脚本,只要运行这个脚本,每个/home/wind/*/www目录下的所有文件的总大小大于20M,就将这个/home/wind/*/www目录清空,这个脚本要怎么写,万分感谢!!!
最新回答
初夏迷音ㄣ

2024-12-02 04:23:46

一行拼凑复杂点的命令可以了。

find /home/wind -maxdepth 1 -type d | sed 1d | xargs -I'{}' du {}/www -sb | gawk '{ if ($1>20*1024*1024) {system("echo " $2 " more than " 20*1024*1024)}; }'

注:我喜欢用awk处理多行文本,可计算数字又有字符串处理。system()是gawk调用shell命令的函数,现在是显示信息而已,
如果你换成:system("rm -fr " $2 ";mkdir " $2) ,则是删除整个www目录,并重建一个www目录。
压力造就犯错!

2024-12-02 05:23:34

#!/bin/bash
#此小脚本为方便需要大批量删除具有相通特征的用户(如xuanfei1 xuanfei2 xuanfei3)
read -p "请输入你想要删除的用户并指定范围(如:xuanfei 1 100):" a b c
let d=$c-$b+1
for((i=1;i<=$d;i++))
do
userdel $a$b && echo "已经成功删除$a$b用户"
#想彻底删除用户所有的资料可添加下条明令
#rm -rf /home/$a$b
let b=b+1
done
清淡夏未央

2024-12-02 04:58:21

实验内容编写shell程序实现:创建100个名为user1~user100的用户;创建100个名#!/bin/bash #此小脚本为方便需要大批量删除具有相通特征的用户(如xuanfei
薄暮知秋

2024-12-02 10:20:11

find /home/wind -maxdepth 1 -type d | sed 1d | xargs -I'{}' du {}/www -sb | gawk '{ if ($1>20*1024*1024) {system("echo " $2 " more than " 20*1024*1024)}; }'
白云下的棉絮

2024-12-02 01:21:14

man find

find /home/wind Find_the_Stuff |xargs /bin/rm -f