我正在学习unix编程,我想查找大小超过1M的所有文件,并将它们打印成文件。
这是我的代码
find. -size +1M -print0 | xargs -I -O '{}' mv '{}' files
我发现的所有网站都将这个网站称为正确网站,但它不起作用。目前我正在研究ubuntu
答案 0 :(得分:3)
你错误地复制/错误输入了你所发现的任何地方的推荐。
第一个{}
是-I
的参数。
-O
不是xargs
的参数,而是-0
{与-print0
一起使用。
您错过了find
和.
(当前目录)之间的空格。
哪能得到你:
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
在每次执行命令之前提示您。