使用今天的日期建立目錄,並將檔案移至其中

使用今天的日期建立目錄,並將檔案移至其中

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

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

答案1

mv *?"$now" "$now/."

?將透過要求時間戳前面至少有一個字元 ( ) 來確保您剛剛建立的目錄不會被選擇進行移動。

答案2

find命令可以過濾文件類型和文件名。
所以我認為這會做你想要的:

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

不過,在大批量運行之前,您可能需要考慮檔案名稱中是否存在任何奇怪之處(例如包含日期字串的其他目錄)。

相關內容