Ric*_*ist 9 scripting shell-script date rename files
我有一些从我的安全摄像头复制的文件目录,我想按文件日期将它们组织到子目录中。例如;
-rwxrwxrwx 0 root root 4935241 Jul 19 2012 DSCN1406.JPG
-rwxrwxrwx 0 root root 4232069 Jul 19 2012 DSCN1407.JPG
-rwxrwxrwx 0 root root 5015956 Jul 20 2012 DSCN1408.JPG
-rwxrwxrwx 0 root root 5254877 Jul 21 2012 DSCN1409.JPG
Run Code Online (Sandbox Code Playgroud)
我想要一个运行以查看该目录中文件的脚本,然后创建 3 个所需的目录,命名为:
drwxrwxrwx 1 root root 0 Sep 2 16:49 07-19-2012
drwxrwxrwx 1 root root 0 Sep 2 16:49 07-20-2012
drwxrwxrwx 1 root root 0 Sep 2 16:49 07-21-2012
Run Code Online (Sandbox Code Playgroud)
然后将文件移动到适当的目录中。有没有人对实现此目的的良好脚本方式有任何建议?
Gil*_*il' 21
在 Linux 和 Cygwin 上,您可以使用date -r
读取文件的修改日期。
for x in *.JPG; do
d=$(date -r "$x" +%Y-%m-%d)
mkdir -p "$d"
mv -- "$x" "$d/"
done
Run Code Online (Sandbox Code Playgroud)
(我对日期使用明确、标准且易于排序的 YYYY-MM-DD 格式。)