使用今天的日期创建目录,并将文件移动到其中

使用今天的日期创建目录,并将文件移动到其中

我正在编写一个脚本来创建一个以今天的日期 (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/

不过,在大批量运行之前,您可能需要考虑文件名中是否存在任何奇怪之处(例如包含日期字符串的其他目录)。

相关内容