linux – 如何在bash上使用filetype将文件排序到文件夹中(使用’file’命令)?

linux – 如何在bash上使用filetype将文件排序到文件夹中(使用’file’命令)?,第1张

概述恢复后我有成千上万的文件没有扩展(主要是图片).我需要按文件类型将它们分类到单独的文件夹中(必须在排序过程中创建文件夹).我可以使用“file”命令在 linux中确定filetype.有人有bash脚本吗? 例如:初始目录包含文件:001,002,003,004.排序后应为3个目录: ‘jpeg’包含001.jpg,003.jpg; ‘tiff’包含002.tiff,’others’包含004. 恢复后我有成千上万的文件没有扩展(主要是图片).我需要按文件类型将它们分类到单独的文件夹中(必须在排序过程中创建文件夹).我可以使用“file”命令在 linux中确定filetype.有人有bash脚本吗?

例如:初始目录包含文件:001,002,003,004.排序后应为3个目录:
‘jpeg’包含001.jpg,003.jpg; ‘tiff’包含002.tiff,’others’包含004.

解决方法 此答案不会为每个文件多次执行文件命令,这是不必要的
file  -N --mime-type -F"-&-" * | awk -F"-&-" 'BEGIN{q="7"}{  o=  gsub("/","_",);sub("^ +","",)  if (!(  in dir )) {    dir[]    cmd="mkdir -p "    print cmd    #system(cmd) #uncomment to use  }  files[o]=}END{ for(f in files){    cmd="cp "q f q"  "q files[f]"/"f".jpg" q    print cmd    #system(cmd) #uncomment to use }}'

同样,可以使用关联数组使用bash4脚本完成.

总结

以上是内存溢出为你收集整理的linux – 如何在bash上使用filetype将文件排序到文件夹中(使用’file’命令)?全部内容,希望文章能够帮你解决linux – 如何在bash上使用filetype将文件排序到文件夹中(使用’file’命令)?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1049485.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存