我需要将一个目录的文件移动到另一个目录。当我使用以下程序时出现统计错误。
for i in dir1/*.txt_dir; do
mv $i/*.txt dir2/`basename $i`.txt
done
错误信息
mv: cannot stat `dir1/aa7.txt_dir/*.txt': No such file or directory
最佳答案
通常,当一个不匹配任何文件名的 glob 被扩展时,它保持不变。因此,您会得到如下结果:
$ rm .bak rm: 无法删除 `.bak': 没有那个文件或目录
为避免这种情况,我们需要更改 nullglob 变量的默认值。
#BASH
shopt -s nullglob
for i in dir1/*.txt_dir; do
mv $i/*.txt dir2/'basename $i'.txt
done
在这里阅读更多相关信息:http://mywiki.wooledge.org/NullGlob
希望这对您有所帮助!
关于linux - MV : cannot stat error : No such file or directory error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12729784/