[讨论]在删除某处文件时要排除一些目录或文件使用的命令,看看谁的命令更简洁

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
sense
帖子: 308
注册时间: 2007-02-14 13:54

[讨论]在删除某处文件时要排除一些目录或文件使用的命令,看看谁的命令更简洁

#1

帖子 sense » 2007-10-10 9:43

实现在 /home/user/ 目录中,除了 dir1 和 dir2 目录保留,将其它文件和目录都删除
查过 rm 命令没有 exclude 参数,我就用了 find 来做排除删除:

find -maxdepth 1 ! \( -path "/home/user/dir1" -o -path "/home/user/dir2" \) -exec rm -r {} \;

觉得这个方法比较繁琐,希望大家能贴出更简洁的命令

:D
头像
patrickhe
帖子: 681
注册时间: 2005-07-21 19:13
来自: Peking, China
联系:

#2

帖子 patrickhe » 2007-10-14 15:49

用 find 带 -exec 参数便是最好的方法了。
头像
den
帖子: 196
注册时间: 2007-06-15 21:19
来自: 上海

#3

帖子 den » 2007-10-14 17:05

首先进入该文件夹,然后用下面命令删除,应该会更简单一点

代码: 全选

ls|grep -v 'd1\|d2'|xargs rm -r
/****************************************************
/* Work hard, play harder.
/****************************************************
回复