使用文件名的最后修改时间重命名文件

使用文件名的最后修改时间重命名文件

我正在尝试使用命令重命名文件mv,我想在文件名上添加此文件的最后修改日期(YYYYMMDD 格式)并将其移动到其他文件夹。我得到的当前系统日期如下:

mv /home/user/Desktop/a.txt "/home/user/Desktop/testfolder/$(date +%Y%m%d)-a.txt"

我使用了其他组合,date但没有成功。我需要知道是否可以直接通过命令行执行此操作,或者我需要创建一个脚本。

答案1

你可以尝试这个命令:

mv /dir_path/example.txt /new_dir_path/$(date +%Y-%m-%d -r example.txt)example.txt

答案2

使用一个小的脚本文件可能最容易让事情变得正确。

-o-

我认为您想使用修改日期而不是当前日期,请参见输出

ls -l a.txt

或者

ls -l --time-style=long-iso a.txt

答案3

谢谢,我明白了!只有一个细节。如果您从原始文件不在的路径使用该命令,则需要使用以下命令:

mv /dir_path/example.txt /new_dir_path/$(date +%Y-%m-%d -r /dir_path/example.txt)example.txt

相关内容