LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1460|回复: 8

如何用一个命令删除a0-a999,这样1000个文件夹

[复制链接]
发表于 2010-2-28 03:16:29 | 显示全部楼层 |阅读模式
如果是a0-a9,很容易,rm a[0-9] -rf就够了。

这里不能用rm a* -rf,因为系统下可能还有axxx的文件夹或文件(xxx不全是数字)。
发表于 2010-2-28 09:58:34 | 显示全部楼层
  1. root [ ~/fnz ]0# ls
  2. root [ ~/fnz ]0# mkdir a{0..15}
  3. root [ ~/fnz ]0# ls
  4. a0  a1  a10  a11  a12  a13  a14  a15  a2  a3  a4  a5  a6  a7  a8  a9
  5. root [ ~/fnz ]0# rm a{0..15} -i -rf
  6. root [ ~/fnz ]0# ls
  7. root [ ~/fnz ]0#
复制代码
回复 支持 反对

使用道具 举报

发表于 2010-2-28 12:59:07 | 显示全部楼层
  1. find . -name "a[0-9]*" -exec rm -rf {} \;
复制代码
回复 支持 反对

使用道具 举报

发表于 2010-3-1 08:45:16 | 显示全部楼层
Post by kingoftime3;2072252

  1. find . -name "a[0-9]*" -exec rm -rf {} \;
复制代码


你的方法会把 a1000 以上也删除,楼主要求只能删除 a0-a999。
回复 支持 反对

使用道具 举报

发表于 2010-3-1 10:56:44 | 显示全部楼层
没理解清LZ的意思
  1. rm -rvf $(ls | sed -n '/a[0-9]\{1,3\}$/' )
复制代码
这个应该能满足要求吧
回复 支持 反对

使用道具 举报

发表于 2010-3-2 09:12:28 | 显示全部楼层
for i in {0..999};do rm -rf a$i; done
回复 支持 反对

使用道具 举报

发表于 2010-3-2 14:45:50 | 显示全部楼层
ServerOnly 的方法最好了,简单明了。 就是 {..}的用法。
  1.    {a..z}
  2.            Extended Brace expansion.
  3.            echo {a..z} # a b c d e f g h i j k l m n o p q r s t u v w x y z
  4.            # Echoes characters between a and z.
  5.            echo {0..3} # 0 1 2 3
  6.            # Echoes characters between 0 and 3.
  7.            The {a..z} [593]extended brace expansion construction is a
  8.            feature introduced in [594]version 3 of Bash.
复制代码
这个是abs里面的解释,是bash 3 开始的一个特性。一般了解的不多。
回复 支持 反对

使用道具 举报

发表于 2010-3-21 17:13:36 | 显示全部楼层
awk 'BEGIN{for(i=0;i<1000;i++)print "rm -rf a"i;}' > delete.sh

delete.sh就是了,当然也可以用
awk 'BEGIN{for(i=0;i<1000;i++)print "rm -rf a"i" 2>dev/null";}'
回复 支持 反对

使用道具 举报

发表于 2010-3-22 11:45:32 | 显示全部楼层
Post by ServerOnly;2072220

  1. root [ ~/fnz ]0# ls
  2. root [ ~/fnz ]0# mkdir a{0..15}
  3. root [ ~/fnz ]0# ls
  4. a0  a1  a10  a11  a12  a13  a14  a15  a2  a3  a4  a5  a6  a7  a8  a9
  5. root [ ~/fnz ]0# rm a{0..15} -i -rf
  6. root [ ~/fnz ]0# ls
  7. root [ ~/fnz ]0#
复制代码


正解~~~~~
回复 支持 反对

使用道具 举报

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

本版积分规则

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