使用檔案名稱上的上次修改時間重新命名文件

使用檔案名稱上的上次修改時間重新命名文件

我正在嘗試使用命令重命名文件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

相關內容