找到./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 .
解决方法
在find命令上使用-print0而不是-print,以及xargs -0(或–null)选项 – 然后NUL将用作分隔符而不是换行符和空格.
find ./dir -type f -iname "*.t[argz]*[bz2]" -print0 | xargs --null mv --target-directory=dir
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。