在文件名中包含日期

在文件名中包含日期

在一个目录中,有 150 个名为ABLIMITS.TXT.如何重命名它们以ABLIMITS_date.txt提示用户输入日期?

答案1

您的问题有点不清楚(单个父目录中的 150 个文件如何都具有相同的文件名?),因此这里是使用名为 的单个文件执行此操作的示例ABLIMITS.TXT,您可以根据需要推断该文件:

在 POSIX shell 中:

使用当前日期

mv ABLIMITS.TXT "ABLIMITS_$(date '+%Y-%m-%d').TXT"

提示用户输入日期

read -rp "Please enter date: " date
mv ABLIMITS.TXT "ABLIMITS_${date}.TXT"

答案2

我假设您想要获取用户输入,并确保它遵循标准格式(例如 YYYY-MM-DD)。那么让我们尝试这样的事情:

for i in *
do
  read -p "Enter date for $i: " d
  mv "$i" "${i%.*}_$(date +%Y-%m-%d -d "$d").${i##*.}"
done

您可以阅读 date 的手册页以获取有关该格式的更多信息。

相关内容