我想移动大小为0字节的特定文件夹中的所有文件。我知道以下打印所有大小为零字节的文件。
find /home/Desktop/ -size 0
但我想将它们移动到另一个文件夹,所以我尝试了:
find /home/Desktop/ -size 0 | xargs -0 mv /home/Desktop/a
但这不起作用。 ?还有其他办法吗?我究竟做错了什么?
答案 0 :(得分:2)
您可以使用-exec
选项找到自己:
find /home/Desktop/ -size 0 -exec mv '{}' /home/Desktop/a \;
答案 1 :(得分:1)
find
默认在标准输出上打印文件名,后跟换行符。选项-print0
打印文件名,后跟空字符。 -0
的选项xargs
表示输入以空字符结束。
find /home/Desktop/ -size 0 -print0 | xargs -0 -I {} mv {} /home/Desktop/a
您可以使用find
选项-exec
在这两种情况下,如果您只想查找文件,请考虑使用find
的选项-type f
,如果您不想查找下降目录,请考虑选项-maxdepth 1
。这在您的示例中特别有用,因为您将找到的文件移动到子目录中!