shell - 如何使用今天的日期重命名现有文件

标签 shell date mv

我有一个文件foo.c 。我想用今天的日期重命名它。
例如foo1/10/14.c
我尝试使用

 mv foo.c foo`date +%D`.c

但是当我这样做时出现错误

mv: cannot move `foo.c' to `foo01/10/14.c': No such file or directory

也许脚本或终端窗口中的某些命令可以执行。我使用的是 Linux(Ubuntu)。

最佳答案

这是因为文件名不能包含斜杠/。当您指出

mv foo.c foo`date +%D`.c

它内部的作用是:

mv foo.c foo01/10/14.c

因此它尝试将文件 foo.c 移动到 foo01/10 目录中。


相反,您可以这样做:

date "+%F"

它以 2014-01-10 格式返回日期,并将扩展为

mv foo.c foo2014-01-10.c

关于shell - 如何使用今天的日期重命名现有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21041123/

相关文章:

linux - 如何在 bash 中使用路径名和重新排序的序列批量重命名多个图像?

shell - 如何检查 OS X 中 sed 的版本?

Bash:复制+重命名文件夹

javascript - 在解析不明确的日期时,如何强制 Moment.js 在月份之前优先考虑日期?

java - 哪些 Android API 用于简单的日期和时间函数

node.js - 使用 node.js 将目录中的所有文件移动到父级

c# - 在c#中一个一个地运行多个shell命令

Python:将 wx.py.shell.Shell 插入单独的进程

JAVA JPA 检查日期是否位于两个日期之间

linux - 移动新创建的文件