本文需要实现的功能如下:某文件夹下具有由按数字编号命名的文件夹,需要删除除最大编码外的文件. 具体实现 大致思路:循环遍历该文件夹下所有文件,正则匹配出最大编码文件:然后循环文件,删除除最大编码外的文件. 实现代码如下: #!/bin/bash function getdir(){ max= DATEPATTERN="^[0-9]*$" ` do if [[ "$element" =~ $DATEPATTERN ]] then ] then max=$element
一.按时间排序 cd /data/wosbak/hrs/pre/ && ls -A -t | awk '{if(NR>15){print $9}}' | xargs rm -rf cd /data/wosbak/hrs/pre/:进入指定目录 ls -A -t:倒序排列 {if(NR>15):过滤掉最后15个目录 {print $9}:输入第九列名称 xargs rm -rf:把过滤出来的目录删除 二.按名称排序 cd /data/wosbak/hrs/pre/ &&a
要求: 1)采用递归遍历文件夹下的所有文件,包括子文件夹下的文件 2)采用递归删除文件下的所有文件 注意: 以下递归删除文件的方法,只能删除文件,所有的文件夹都还会存在 若要删除正文文件夹,可以在递归删除完后,在使用flie.delete()删除整个文件夹 package 递归删除文件夹下的所有文件; import java.io.File; public class Test { public static void main(String[] args) { File file=new Fi
#!/bin/sh RM="rm -rf" function delete_all_dir() { for i in `ls` do if [ -d $i ];then $RM $i fi done } function delete_all_file() { for i in `ls` do if [ -f $i ];then $RM $i fi done } in f) delete_all_file ;; d) delete_all_dir ;; esac 用法: 删除文件夹 [