美文网首页
shell批量移动文件

shell批量移动文件

作者: 盖小聂 | 来源:发表于2020-05-18 13:42 被阅读0次

    将当前目录下面包括子目录中的png文件移动至指定的target目录

    mv `find . -name “*.png”` ./target
    或者
    //{}表示find搜索的结果,\表示结束
    find . name "*.png" -exec mv {} target/ \;
    

    对一个的shell脚本

    #!/bin/bash
    
    for file in `find . -name “*.png”`
    do
        mv $file ./target
    done
    

    通常我们使用如下的方式去批量删除文件:

    find . -name “*.png” | xargs rm -rf
    

    那是否可以采用类似方式通过find命令来批量移动文件呢?

    find . -name “*.png” | xargs mv /tmp
    

    很遗憾,不能采用这种方式来实现
    理由:像cd和ls命令只需要一个input,而像mv和cp等命令都需要两个input,需要source和target。通过管道只能获得一个input。

    相关文章

      网友评论

          本文标题:shell批量移动文件

          本文链接:https://www.haomeiwen.com/subject/sjeuohtx.html