linux – 如何在bash上使用filetype将文件排序到文件夹中(使用’file’命令)?
发布时间:2020-12-30 20:45:35  所属栏目:Linux  来源:互联网 
            导读:恢复后我有成千上万的文件没有扩展(主要是图片).我需要按文件类型将它们分类到单独的文件夹中(必须在排序过程中创建文件夹).我可以使用“file”命令在 linux中确定filetype.有人有bash脚本吗? 例如:初始目录包含文件:001,002,003,004.排序后应为3个目录:
                
                
                
            | 
                         恢复后我有成千上万的文件没有扩展(主要是图片).我需要按文件类型将它们分类到单独的文件夹中(必须在排序过程中创建文件夹).我可以使用“file”命令在 linux中确定filetype.有人有bash脚本吗? 例如:初始目录包含文件:001,002,003,004.排序后应为3个目录: 解决方法此答案不会为每个文件多次执行文件命令,这是不必要的file  -N --mime-type -F"-&-" * | awk -F"-&-" 'BEGIN{q=" 47"}
{
  o=$1
  gsub("/","_",$2);sub("^ +","",$2)
  if (!($2  in dir )) {
    dir[$2]
    cmd="mkdir -p "$2
    print cmd
    #system(cmd) #uncomment to use
  }
  files[o]=$2
}
END{
 for(f in files){
    cmd="cp "q f q"  "q files[f]"/"f".jpg" q
    print cmd
    #system(cmd) #uncomment to use
 }
}' 
 同样,可以使用关联数组使用bash4脚本完成. (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
