我有一个目录(
例如:
目录如下:
〜/temp/
),其中包含许多文件和子目录,有些目录中可能包含其他文件和子目录。
此外,在目录(〜/temp/
)中,它包含一个名为kept.txt
的特殊txt文件,列出了一些直接在〜/temp/
中包含的文件和子目录,现在我想删除〜/temp/
下未在kept.txt
文件中列出的所有其他文件和目录,如何使用shell命令实现,越简单越好。例如:
目录如下:
$ tree temp/ -F
temp/
├── a/
├── b/
├── c/
│ ├── f2.txt
│ └── z/
├── f1.txt
└── kept.txt
kept.txt
的内容如下:
$ more kept.txt
b
kept.txt
对于这个案例:
- 我想要删除
a/
、c/
和f1.txt
。对于c/
,目录本身和所有子内容(文件和目录)都将被删除。 - 在
kept.txt
中,格式是每行一个项目(文件或目录)。
kept.txt
文件。 - cdarkekept.txt
中也有kept.txt
这一行。 - anubhavamore kept.txt
(至少在我打开这个问题时是这样的)。 - anubhava