Bash:find并复制

任何人都有另一种方法来查找和复制在bash中的文件比:

find . -ctime -15 | awk '{print "cp " $1 " ../otherfolder/"}' | sh

我喜欢这种方式,因为它是灵活的,因为我build立我的命令(可以通过任何命令),并执行它。

有没有其他的方法来简化命令到文件列表?

谢谢

    我会建议使用find-exec选项:

    find . -ctime 15 -exec cp {} ../otherfolder \;

    一如既往,请查阅联机帮助手册以获得最佳效果。

    我通常使用这个:

     find . -ctime -15 -exec cp {} ../otherfolder/ \; 

    如果你的cp是GNU的:

    
    find . -ctime 15 -print0 | xargs -0 cp --target-directory=../otherfolder 

    你可以用xargs来做:

     $ find . -ctime 15 -print0 | xargs -0 -I{} cp {} ../otherfolder 

    另请参阅shell脚本中的grep实用程序 。

    使用这个副本和许多其他的东西:

     for f in (find /apps -type f -name 'foo'); do cp ${f} ${f}.bak; cmd2; cmd3; done; 

    -exec可能是要走的路,除非你有太多的文件。 然后使用xargs。