删除linux目录中的所有文件夹和文件,除了一个文件夹和该文件夹中的所有内容

时间:2017-12-05 18:48:19

标签: linux bash shell directory

我有一个目录结构: -

/usr/testing/member/
   ---> public--->folder1--->file1
           \----> file2
   ---> folder3:- contains files and folders
   ---> folder4:- contains files and folders
   ---> several files

我想保留公用文件夹及其所有内容(其中的更多文件夹和文件),但是要删除目录/ usr / testing / member /下的所有其他内容。但这也意味着不删除成员文件夹。 是否有任何shell脚本或命令可用于完全按照我的说法实现此目的。

2 个答案:

答案 0 :(得分:1)

这是一种方法:

cd

/usr/testing/member进入echo,找到所有文件和目录,不再在下面进一步说明,并排除当前目录(“。”)和任何名为“public”的文件或目录,并为找到的文件执行命令。

这将打印要删除的内容。 验证它看起来不错,然后删除a = np.array([1,2,3,4,5])

答案 1 :(得分:0)

我认为下面会做这项工作,

$ cd  /usr/testing/member/
$ rm -rf $(ls | grep -v "public")

解释:

我们通过/usr/testing/member/

public选项将所有内容rm-v(exclude)传递给grep