创建子目录并根据文件名中的日期按日期组织文件

摇头

我一直在使用以下脚本将照片整理到“日期”目录中:

for x in *.JPG; do
  d=$(date -r "$x" +%Y-%m-%d)
  mkdir -p "$d"
  mv -- "$x" "$d/"
done

这个脚本很好用。我的照片文件遵循相同的命名约定“ IMG_20131125_090000.JPG”,即拍摄的日期和时间。有没有一种方法可以更改上面的脚本,以便仍然将其分类到日期目录中,但是使用文件名中的日期而不是使用文件被修改的日期?

乔费

已固定答案以获取2013-11-25而不是20131125

如果您的脚本使用bash兼容的外壳程序运行,则最简单的解决方案是替换

d=$(date -r "$x" +%Y-%m-%d)

d="${x:4:4}-${x:8:2}-${x:10:2}"

具有expr的便携式解决方案:

d=$(expr substr "$x" 5 4)-$(expr substr "$x" 9 2)-$(expr substr "$x" 11 2)

如果您只需要20131125而不是2013-11-25作为目录名,则还可以

sed解决方案:

d=$(echo "$x" | sed 's/.*_\([0-9]*\)_.*/\1/')

这些sed命令将文件名替换为下划线之间的数字(=日期)。

用awk解决方案:

d=$(echo "$x" | awk -F _ '{print $2}')

解决方案

d=$(echo "$x" | cut -d_ -f 2')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

忽略根目录和子目录中的相同文件名

来自分类Dev

从目录中许多文件的文件名中删除日期

来自分类Dev

仅列出bash中目录和子目录中的文件名

来自分类Dev

列出子目录中所有文件的创建日期和文件名

来自分类Dev

的Python:列出目录/子目录与文件名

来自分类Dev

Python:按创建日期或文件名中的编号列出目录中的XML文件

来自分类Dev

从文件名中的日期设置创建日期

来自分类Dev

从子目录检索文件名

来自分类Dev

更改父目录和子目录中的文件名

来自分类Dev

创建子目录并按日期组织文件

来自分类Dev

“查找”或“ grep”文件名以匹配目录和子目录中的模式

来自分类Dev

查找与文件名匹配的子目录

来自分类Dev

创建脚本以根据日期或文件名移动文件

来自分类Dev

将所有文件移动到文件名开头的子目录中

来自分类Dev

按创建日期列出所有子目录中的文件

来自分类Dev

将所有文件移动到以部分文件名命名的子目录中

来自分类Dev

制作脚本以基于文件名创建子目录并将匹配的文件移入其中

来自分类Dev

在Linux中将子目录中的文件名写入CSV文件

来自分类Dev

将递增值写入子目录中与文件名匹配的所有文件

来自分类Dev

Python脚本根据文件名提取所有子目录

来自分类Dev

AWK-创建新的子目录并根据文件名将文件移动到该子目录中

来自分类Dev

如何根据Windows OS中目录的最新更新文件或子目录按日期对目录进行排序

来自分类Dev

列出子目录中所有文件的创建日期和文件名

来自分类Dev

在父目录中创建与文件名相同的子目录

来自分类Dev

列出FTP目录及其子目录中的文件名

来自分类Dev

如何更改子目录中的文件名

来自分类Dev

按创建日期升序获取子目录列表顺序

来自分类Dev

在子目录中创建同名文件

来自分类Dev

理论上很简单:来自所有子目录的文件名和日期的 CSV (Unix(OSX)

Related 相关文章

  1. 1

    忽略根目录和子目录中的相同文件名

  2. 2

    从目录中许多文件的文件名中删除日期

  3. 3

    仅列出bash中目录和子目录中的文件名

  4. 4

    列出子目录中所有文件的创建日期和文件名

  5. 5

    的Python:列出目录/子目录与文件名

  6. 6

    Python:按创建日期或文件名中的编号列出目录中的XML文件

  7. 7

    从文件名中的日期设置创建日期

  8. 8

    从子目录检索文件名

  9. 9

    更改父目录和子目录中的文件名

  10. 10

    创建子目录并按日期组织文件

  11. 11

    “查找”或“ grep”文件名以匹配目录和子目录中的模式

  12. 12

    查找与文件名匹配的子目录

  13. 13

    创建脚本以根据日期或文件名移动文件

  14. 14

    将所有文件移动到文件名开头的子目录中

  15. 15

    按创建日期列出所有子目录中的文件

  16. 16

    将所有文件移动到以部分文件名命名的子目录中

  17. 17

    制作脚本以基于文件名创建子目录并将匹配的文件移入其中

  18. 18

    在Linux中将子目录中的文件名写入CSV文件

  19. 19

    将递增值写入子目录中与文件名匹配的所有文件

  20. 20

    Python脚本根据文件名提取所有子目录

  21. 21

    AWK-创建新的子目录并根据文件名将文件移动到该子目录中

  22. 22

    如何根据Windows OS中目录的最新更新文件或子目录按日期对目录进行排序

  23. 23

    列出子目录中所有文件的创建日期和文件名

  24. 24

    在父目录中创建与文件名相同的子目录

  25. 25

    列出FTP目录及其子目录中的文件名

  26. 26

    如何更改子目录中的文件名

  27. 27

    按创建日期升序获取子目录列表顺序

  28. 28

    在子目录中创建同名文件

  29. 29

    理论上很简单:来自所有子目录的文件名和日期的 CSV (Unix(OSX)

热门标签

归档