我有一个文件夹,我的 Red Hat 服务器大约有一个文件夹。来自各种扩展名的 500k 个文件。这些文件的命名约定基于一个数字,例如:
- 一个123456 .csv
- z 123456 .jpg
- 123456.exe _
- 234.jpg _ _
- 第234章
我设计了一个查询,它会生成一个包含所有应该删除的数字的列表。假设我每天/每周将此列表导出到 txt 文件中,从列表中出现的文件夹中删除所有文件的最有效方法是什么?
由于文件太多,在每个文件夹上运行 for 循环会花费很长时间。我设法使用以下方法生成了要删除的所有数字列表,这些数字在此文件夹中有文件:
join <(cat list.txt | sort) <(ls /folder/with/0.5Mfiles | grep -v html$ | sed 's/[a-zA-Z.]*//g' | sort)
但那样我会丢失原始文件名(例如z123456.jpg)
最有效的方法是什么?