【问题标题】:My mv command is showing no such file or directory when renaming a file重命名文件时,我的 mv 命令未显示此类文件或目录
【发布时间】:2021-12-29 15:19:33
【问题描述】:

在下面的代码中,我正在重命名一个添加了日期字段的文件。但错误显示没有这样的文件或目录。它执行移动操作而不是重命名它。 谢谢。

#!bin/bash

cd /some/directory/name

LIST=$(ls)

for FILE in $LIST
do
 DATE=$(date +%d/%m/%y/%H:%M:%S)
 VARX=$(echo $FILE | cut - d '.' -f 1)
 VARY=$(echo $FILE | cut - d '.' -f 2)
NNAME="${VARX}""${DATE}"."${VARY}"

mv "${FILE}" "${NNAME}";
done

【问题讨论】:

  • 移动失败的文件名是什么?
  • 您应该更正您的标签,使其包含 bash

标签: linux unix file-rename mv


【解决方案1】:

你在使用 cut 命令时遗漏了一个空格,而不是 -d 你应该写 -d like

#!bin/bash

cd /some/directory/name

LIST=$(ls)

for FILE in $LIST
do
 DATE=$(date +%d%m%y%H%M%S)
 VARX=$(echo $FILE | cut -d '.' -f 1)
 VARY=$(echo $FILE | cut -d '.' -f 2)
NNAME="${VARX}""${DATE}"."${VARY}"

mv "${FILE}" "${NNAME}";
done

祝你有美好的一天!

【讨论】:

  • 实际上我得到了修复。我的日期变量中的正斜杠(/)导致了问题。由于正斜杠,shell 正在寻找路径。谢谢。
猜你喜欢
  • 2013-08-27
  • 1970-01-01
  • 2015-10-08
  • 2012-10-31
  • 2021-12-21
  • 2019-05-03
  • 2012-12-07
  • 1970-01-01
  • 2011-08-06
相关资源
最近更新 更多