如何删除不在集合中的所有文件
How to delete all files not in a set
我有一个包含文件名列表的纯文本文件。例如,
A.doc
E.doc
F.pdf
我想删除当前目录中除那些文件之外的所有文件。
这可以在 bash 完成吗?
假设不要删除的文件列表是goodfiles.txt。那么:
ls | grep -vx -f goodfiles.txt
为您提供要删除的 "other" 个文件的列表。如果您确认这些是您要删除的文件,则:
ls | grep -vx -f goodfiles.txt | xargs -d '\n' rm
我有一个包含文件名列表的纯文本文件。例如,
A.doc
E.doc
F.pdf
我想删除当前目录中除那些文件之外的所有文件。
这可以在 bash 完成吗?
假设不要删除的文件列表是goodfiles.txt。那么:
ls | grep -vx -f goodfiles.txt
为您提供要删除的 "other" 个文件的列表。如果您确认这些是您要删除的文件,则:
ls | grep -vx -f goodfiles.txt | xargs -d '\n' rm