0%

解决mv Argument list too long问题

移动近百万文件的时候,忽然报出错误:

1
2
$ mv 1/11*.dat 2/
-bash: /bin/mv: Argument list too long

显然当需要移动的文件太多的时候,mv命令就束手无策了。

比如要将文件夹1中所有以11开头的dat文件移到文件夹2下:
解决办法:
使用find命令:

1
$ find 1 -name '11*.dat' -exec mv {} 2 \;

其中**-exec后为需要运行的命令,{}为搜到的文件,;**为exec的结束符。

不过好像很耗时的样子。。

reference:
1.http://stackoverflow.com/questions/11942422/moving-large-number-of-filess

Welcome to my other publishing channels