Shell脚本来遍历文件夹和子文件夹,将时间戳转换为UTC格式,并导出.csv文件

时间:2018-06-20 08:57:53

标签: shell csv filenames

大家好

我有大量的图像文件(大约100000个)被保存到50个文件夹和子文件夹中,我需要编写脚本来自动处理这些数据

我正在尝试为某个复杂的任务编写 Shell脚本,而我现在正努力使其以正确的方式运行。因此,为了给您最好的描述,我将写下该脚本要完成的主要工作,如下所示:

首先:脚本必须遍历“文件夹”和子文件夹,并提取文件名和完整路径

第二:文件名包含时间和日期信息。即:
20180612074405680。我需要脚本将其转换为 UTC格式。即:2018-06-12 T 07:44:05 TZ +01:00

最后:我需要将所有这些文件导出到.csv文件中,

我一直在尝试使用find命令来遍历文件夹和子文件夹并获取文件名,但是我仍然无法获取文件的完整路径

任何人都可以帮忙或提供提示!

1 个答案:

答案 0 :(得分:1)

好吧

  • 要使用find获取绝对路径,可以将基本路径添加到find之前,或者如果已经在该路径上,则使用$(pwd),因此: li>

find /path/to/my/files

find $(pwd)

  • 要将这种格式转换为UTC,我看不到寻找某种日期转换工具的意义,简单地更改字符串E.G会更容易:

echo "${filename:0:4} - ${filename:4:2} - ${filename:6:2} T ${filename:8:2}:${filename:10:2}:${filename:12:2} TZ +01:00"

由于您要转换的文件可能来自同一时区,而且可能是在同一天,所以它始终是同一时区,因此您只需找出它是什么,然后按字面值附加它即可。