在Linux上反复移动文件

use*_*631 5 linux find xargs

find ./dir -type f -iname "*.t[argz]*[bz2]" -print | xargs mv --target-directory=dir 似乎在名称中包含空格的文件上失败.怎么改进呢?还是另类?

谢谢你的回答:我的mv不支持--null或-0,我正在使用cygwin:

$ mv --help
Usage: mv [OPTION]... [-T] SOURCE DEST
  or:  mv [OPTION]... SOURCE... DIRECTORY
  or:  mv [OPTION]... -t DIRECTORY SOURCE...
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.

Mandatory arguments t
.

mar*_*ton 8

使用-print0,而不是-print在find命令和xargs的-0(或--null)选项-然后完全无效将被用作分隔符,而不是换行和空格.

find ./dir -type f -iname "*.t[argz]*[bz2]" -print0 | xargs --null mv --target-directory=dir
Run Code Online (Sandbox Code Playgroud)