Date

使用今天的日期創建目錄,並將文件移動到該目錄

  • April 7, 2017

我正在編寫一個腳本來創建一個以今天日期(yyyy_mm_dd)命名的目錄,然後將所有以今天日期結尾的文件移動到該目錄。有沒有更好的方法將文件移動到目錄,因為我所做的也選擇了目錄。

now=$(date '+%Y_%m_%d')
mkdir $now
mv *$now $now/
mv *?"$now" "$now/."

?通過要求時間戳前至少有一個字元 ( ),將確保您剛剛創建的目錄未被選中進行移動。

find命令可以過濾文件類型和文件名。

所以我認為這會做你想要的:

now=$(date '+%Y_%m_%d')
find . -name "*$now" -type f -print0 | xargs -0 mv -t $now/

儘管在大批量執行它之前,您可能需要考慮文件名中是否有任何奇怪之處(例如包含日期字元串的其他目錄)。

引用自:https://unix.stackexchange.com/questions/356588