今天在群里有人问如何删除一个文件夹下按照时间排序的前N个文件夹,该目录下只有文件夹。个人写了一个脚本,群里有人写了一个脚本,现整理下来,方便以后查阅。
个人的:
#!/bin/sh
ls -lrt| awk '{if(NR<4 && NR!=1) printf("rm -rf %s\n",$8)}' >rm2.sh
chmod 755 rm2.sh
./rm2.sh
rm rm2.sh
高手的:
#!/bin/sh
for i in `ls -lthr | head -3 |grep -v 'total'`
do
rm -rf $i
done;
从以上两个脚本能看出两个人的差距是如此之大啊。我还需要继续钻研linux的脚本,朝着高手的目标迈进。
------------------------------------------------------------
crontab执行脚本
crontab:
00 03 1 * * /tmp/rm_expired_ftp_files.sh
/tmp/rm_expired_ftp_files.sh:
find /pub_ftp_directory -ctime +90 | xargs rm -fr
个人的:
#!/bin/sh
ls -lrt| awk '{if(NR<4 && NR!=1) printf("rm -rf %s\n",$8)}' >rm2.sh
chmod 755 rm2.sh
./rm2.sh
rm rm2.sh
高手的:
#!/bin/sh
for i in `ls -lthr | head -3 |grep -v 'total'`
do
rm -rf $i
done;
从以上两个脚本能看出两个人的差距是如此之大啊。我还需要继续钻研linux的脚本,朝着高手的目标迈进。
------------------------------------------------------------
crontab执行脚本
crontab:
00 03 1 * * /tmp/rm_expired_ftp_files.sh
/tmp/rm_expired_ftp_files.sh:
find /pub_ftp_directory -ctime +90 | xargs rm -fr
本文介绍两种使用Shell脚本批量删除指定目录下按时间排序的前N个文件夹的方法。一种为初学者示例,另一种为高级示例,展示了更简洁高效的脚本编写技巧。同时介绍了如何通过crontab定时执行此类脚本。
550

被折叠的 条评论
为什么被折叠?



