You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用mv命令重命名文件并添加指定格式日期后缀

使用mv命令生成带日期标识文件名的正确操作

你之前的命令存在两个核心问题:

  • 命令替换语法错误:shell中嵌套执行命令不需要额外加圆括号包裹,直接用反引号或者$()包裹要执行的命令即可
  • 未指定date命令的输出格式:date默认输出带星期、空格、时区的完整时间字符串,包含的空格会导致文件名解析错误,也不符合你需要的月_日_年命名格式

可直接使用的正确命令

如果需要生成你举例的file_may_20_2020.txt这类全小写月份缩写的文件名,执行以下命令即可:

mv file.txt file_$(date +"%b_%d_%Y" | tr '[:upper:]' '[:lower:]').txt

命令各部分说明:

  • date +"%b_%d_%Y":控制date输出格式为月份缩写_两位日期_四位年份,例如2020年5月20日会输出May_20_2020
  • | tr '[:upper:]' '[:lower:]':将date输出的月份首字母大写转为全小写,最终得到may_20_2020的日期串
  • $():是shell中推荐的命令替换标识,会把括号内命令的输出结果拼接到外层命令的对应位置,你也可以用反引号写法实现相同效果,对应命令如下:
    mv file.txt file_`date +"%b_%d_%Y" | tr '[:upper:]' '[:lower:]'`.txt
    

常见注意事项

  • 如果不需要强制月份全小写,可以去掉管道后的tr命令部分,生成的文件名会是file_May_20_2020.txt格式
  • 不要直接使用无参数的date输出拼接文件名,其自带的空格会导致shell把空格后的内容识别为额外参数,触发重命名错误
  • 多层命令嵌套时优先用$()语法,相比反引号的辨识度更高,不容易出现语法配对错误

内容的提问来源于stack exchange,提问作者joan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 20:27:21