mv:不能stat,没有这样的文件或目录

时间:2018-01-19 15:38:49

标签: bash

mv命令无法找到我尝试重命名的文件。 我已经看过涉及双引号,目录扩展和变量评估的解决方案,但没有解释为什么这个Bash脚本不能工作。

我还确认路径正确且文件存在。如果有人可以提供帮助,我会非常感激。

以下是有问题的代码并附有解释:

BASEPATH="/media/matt/DATA/Flow_Processing/fvv/rafa_1_ifsc/STEA_flow/"

FRSTFRM=00030
LSTFRM=00270

FRSTCAM=001
LSTCAM=012

for cam in $(eval echo "{$FRSTCAM..$LSTCAM}")
do
 for frame in $(eval echo "{$FRSTFRM..$LSTFRM}")
 do

  SRC="${BASEPATH}${cam}/flow/FVV_0_${cam}_${frame}_flow.flo"
  DST="${BASEPATH}${cam}/flow/FVV_2_${cam}_$frame.flo"

  mv -f $SRC $DST

 done
done

基本上我试图使用填充字符串的$cam$frame变量来迭代文件系统结构。

我尝试从以下位置更改每个文件夹中的文件名:

FVV_0_<cam num>_<frame num>_flow.flo 

FVV_2_<cam num>_<frame num>.flo 

e.g。对于摄像机1和帧1,文件更改为:

FVV_0_001_00001_flow.flo

FVV_2_001_00001.flo

我打印了$SRC$DST,他们输出了我期望的确切路径。问题是,尽管如此,mv产生了这个错误:

"cannot stat: <file> : no such file or directory" 

e.g。

SRC:

/media/matt/DATA/Flow_Processing/fvv/rafa_1_ifsc/STEA_flow/005/flow/FVV_0_005_00190_flow.flo

DST:      /media/matt/DATA/Flow_Processing/fvv/rafa_1_ifsc/STEA_flow/005/flow/FVV_2_005_00190.flo

mv错误:

mv: cannot stat '/media/matt/DATA/Flow_Processing/fvv/rafa_1_ifsc/STEA_flow/005/flow/FVV_0_005_00190_flow.flo': No such file or directory

1 个答案:

答案 0 :(得分:2)

我通过修复已安装媒体的写权限错误来解决它。 我的/etc/fstab文件要求我在NAS媒体驱动器的挂载选项末尾添加"vers=1.0"

感谢@Azeem的帮助,他帮助我意识到我没有获得访问驱动器上文件的权限。