移动Find命令unix的输出

时间:2015-10-09 18:34:22

标签: shell unix ubuntu

我正在学习unix编程,我想查找大小超过1M的所有文件,并将它们打印成文件。

这是我的代码

find. -size +1M -print0 | xargs -I -O '{}' mv '{}' files 

我发现的所有网站都将这个网站称为正确网站,但它不起作用。目前我正在研究ubuntu

1 个答案:

答案 0 :(得分:3)

你错误地复制/错误输入了你所发现的任何地方的推荐。

  1. 第一个{}-I的参数。

  2. -O不是xargs的参数,而是-0 {与-print0一起使用。

  3. 您错过了find.(当前目录)之间的空格。

  4. 哪能得到你:

    find . -size +1M -print0 | xargs -0 -I '{}' mv '{}' files
    

    据说你完全不需要xargs,因为find可以直接执行命令。

    find . -size +1M -exec mv {} files \+
    

    在运行它之前测试复杂的find命令通常是一个好主意。

    单独使用find . -size +1M将只打印匹配的文件。

    使用

    find . -size +1M -ok mv {} files \+
    

    将导致find在每次执行命令之前提示您。