假设文件夹中/photo
有很多文件,例如
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg
7.jpg
8.jpg
9.jpg
10.jpg
我nodeletelist.txt
在此文本文件中有一个文件名,具有未删除文件列表之类的名称
1.jpg
2.jpg
3.jpg
nodeletelist.txt
如何删除文件:
4.jpg
...
10.jpg
除外文件1.jpg
,2.jpg
,3.jpg
和nodeletelist.txt
这nodeletelist.txt
?
对我来说,最简单,容易记住的方法也适用于很多文件(这种想法会在文件名内的换行符上打断,但如果您愿意的话,则必须考虑一下您的列表):
cd /photo
ls -1 | grep -v -x -f nodeletelist.txt | xargs -d "\n" -P 0 rm -f
如果目录中还有其他内容(子目录或其他文件,我不认为这是因为您将txt包含在列表中),那么我将使用find I而不是ls(find . -maxdepth 1 -type f -name "*.jpg"
例如)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句