在出现高清问题和一些工作之后,我有一堆文件名为“f1234”,“f1235”等。
我的目标是根据文件类型对这些文件进行排序。例如,我想将所有PDF文件移动到“pdfs”目录中。
对于一个文件,我可以这样做:“file f1234”,如果它是PDF,我可以“mv f1234 pdfs /”。但是我有成千上万的文件...你能帮我用bash或zsh命令一次性排序所有的PDF吗?感谢
答案 0 :(得分:5)
这里的难点是将file
的输出可靠地转换为目录名。我认为最好的候选者可能是文件的mime类型,而不是file
的人类可读输出。我使用的东西是:
mkdir sorted
for f in f*
do
d=$(file -b --mime-type "$f" | tr / -)
mkdir -p "sorted/$d"
mv "$f" "sorted/$d/"
done
显然我在对你的文件运行它之前测试了一下,但是非常接近的东西应该有用。