问题现象: linux操作系统使用脚本mv报错,查看日志为mv: missing destination file operand after xxx
问题原因: 1、“mv 源目录”,源目录是全名,没有正则表达式的匹配,此种情况忘记敲要移动的目标路径会直接报错。 - [root@localhost ~]# mv 2023-09-19/
- mv: missing destination file operand after ‘2023-09-19/’
- Try 'mv --help' for more information.
复制代码
2、“mv 源文件”,源文件为单个文件没有使用正则表达式匹配多个文件,此种情况忘记敲要移动的目标路径会直接报错。 - [root@localhost ~]# mv test
- mv: missing destination file operand after ‘test’
- Try 'mv --help' for more information.
复制代码
3、“mv 源文件”,源文件包括文件和目录格式,是被正则表达式匹配到的连续多个文件或目录,忘记敲目标路劲时,前边匹配到文件夹会被移动到最后一个文件夹里边/前边匹配到的文件会被写到最后一个文件里(覆盖写入会有提示是否确认)。 - [root@localhost ~]# mv 123-45[6-7]*
- mv: overwrite ‘123-456’? ^C
复制代码
解决方案: 多执行两次才发现变量写错了,目的地址的变量复制的时候位置偏移了一点。。改正就好了。 - find $dir_path -maxdepth 1 -type f |xargs -I '{}' mv {} $old_dir_path
复制代码
|