V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
q9OxQg
V2EX  ›  Linux

如何把一个硬盘里面各个文件夹里面的 jpg 图片文件拷贝出来

  •  
  •   q9OxQg · 2018-02-05 18:54:32 +08:00 via Android · 4637 次点击
    这是一个创建于 2507 天前的主题,其中的信息可能已经有所发展或是发生改变。

    硬盘是个 320G 的 NTFS 硬盘,有些问题,Windows 里面看见一个回收站。在 Ubuntu 里面,可以看见四个名字很长的文件夹,里面文件夹套文件夹,但是文件夹貌似不是多得可怕的程度。 在 Ubuntu 里面,请问有什么命令可以把这个硬盘的各个文件夹里面的 jpg 图片文件拷贝到另外一个文件夹,最好能保持文件结构。网上搜索了下一些,貌似不能保持文件夹结构,这样可能有文件名重名冲突或者覆盖掉。 在此请教了,谢谢!

    16 条回复    2018-02-08 16:33:11 +08:00
    loadinger
        1
    loadinger  
       2018-02-05 19:19:48 +08:00
    实在不行,写几行代码吧。
    q9OxQg
        2
    q9OxQg  
    OP
       2018-02-05 19:34:43 +08:00 via Android
    @loadinger 很羞愧,就是不会写。。。
    jackyzy823
        3
    jackyzy823  
       2018-02-05 19:42:34 +08:00 via Android
    find 路径 -name "*.jpg" -exec cp --parents {} 目标路径 \;
    jackyzy823
        4
    jackyzy823  
       2018-02-05 19:43:21 +08:00 via Android
    建议先-print 再 -exec
    higoge
        5
    higoge  
       2018-02-05 19:45:05 +08:00
    locate .jpg | xargs -I cp {} /data/{}
    没测试,基本上应该差不多
    locate 之前 sudo updatedb 一下
    JohnChiu
        6
    JohnChiu  
       2018-02-05 20:16:37 +08:00
    用 py 的话很简单的,我之前写过按照文件目录改子目录下文件名的代码,十几行就能搞定,你这等于就是换成新建文件夹然后复制的操作,百度一下了解一点 py 代码就行了,有编程基础根本不需要学 py 就能实现~
    loginv2
        7
    loginv2  
       2018-02-05 22:24:19 +08:00
    mkdir 新建文件夹 && find 源文件夹 / -name '*.jpg' |xargs tar czf 新建文件夹.tgz && tar zxvf 新建文件夹.tgz -C 保存图片文件目录
    jiqing
        8
    jiqing  
       2018-02-05 22:35:30 +08:00
    难道就只有我看不懂描述么,跟 Windows 回收站有什么关系
    q9OxQg
        9
    q9OxQg  
    OP
       2018-02-06 07:16:43 +08:00 via Android
    多谢楼上各位出的主意,感恩。我一一试试。
    q9OxQg
        10
    q9OxQg  
    OP
       2018-02-06 07:19:22 +08:00 via Android
    @jiqing 抱歉。我的意思是这个 NTFS 格式硬盘很怪,挂着 Windows 里面只能看见一个回收站图标。挂在 Ubuntu 里面,可以看见 4 个文件夹,文件夹名叫 recycler 之类。
    yingfengi
        11
    yingfengi  
       2018-02-06 08:10:08 +08:00 via Android
    @q9OxQg 那个东西就是 Windows 的回收站
    shakoon
        12
    shakoon  
       2018-02-06 08:46:42 +08:00
    猜测这块硬盘之前是接其他电脑吧,东西也是在其他电脑删到回收站的。如果是这样的话貌似有点难处理,因为回收站里的文件都是没有扩展名的,而且原始的文件名也是找不回来的。
    相对比较容易的方式就是搜索*.*,全部拷贝到一个请文件夹,然后命令行批量重命名加上.jpg 后缀,通过分辨率排序后即可找到真正的 jpg,然后再全部剪切走。
    annielong
        13
    annielong  
       2018-02-06 09:44:26 +08:00
    挂个 windows,如果运气好的话就能直接认出来回收站里面的文件
    wmhx
        14
    wmhx  
       2018-02-06 13:42:56 +08:00
    find ./ -name "*.jpg" > aaa.txt
    cat aaa.txt| while read f
    do
    cp $f /path/for/copy/$f
    done;
    8023lsy
        15
    8023lsy  
       2018-02-06 15:50:00 +08:00
    用 everything,搜索 jpg,全选复制。
    429463267
        16
    429463267  
       2018-02-08 16:33:11 +08:00
    everything 这个 win 神级软件你值得一试
    话说怎么贴图到回复框?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5274 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:50 · PVG 15:50 · LAX 23:50 · JFK 02:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.