LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
123
返回列表 发新帖
楼主: 84338652

进来帮我看个脚本怎么写,谢谢了

[复制链接]
 楼主| 发表于 2006-3-2 14:32:01 | 显示全部楼层

  1. #!/bin/sh
  2. regexp=(oss_server-bin localhost-bin)
  3. directory=(/home/filetest /root/filetest)
  4. regexpcount=${#regexp[@]}
  5. directorycount=${#directory[@]}
  6. for((dir = 0; dir < $directorycount; dir++))
  7. do
  8.         #echo ${directory[dir]}
  9.         for((reg = 0; reg < $regexpcount; reg++))
  10.         do
  11.                 filegroup=(`ls ${directory[dir]} -rt|grep -i ${regexp[reg]}.`)
  12.                 length=${#filegroup[@]}
  13.                 len=`expr $length - 2`
  14.                 for(( i = 0; i < $len; i++))
  15.                 do
  16.                         #echo delete file is:
  17.                         #echo ${filegroup[i]}
  18.                         rm ${directory[dir]}/${filegroup[i]} -rf
  19.                 done
  20.                 #sleep 5
  21.         done
  22. done
复制代码


俺写的,有点白痴,呵呵
回复 支持 反对

使用道具 举报

发表于 2006-3-3 09:07:16 | 显示全部楼层
假设顺序是以 001,002,003 这样一直增加,并且文件名没有空格。

要求:保留最大的2个数字的文件。

  1. ls -1 abc.* | head -n-2 | xargs rm
复制代码


要求:删除最大的2个数字的文件。

  1. ls -1 abc.* | tail -2 | xargs rm
复制代码


搞定。重点是 ls 出来的结果的排列顺序。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表