【发布时间】:2015-02-02 21:54:23
【问题描述】:
抱歉,如果这个问题已经得到解答,我对 Linux 有点陌生,但我没有看到任何目标。
不管怎样,我正在运行这个命令:
find 2013-12-28 -name '*.gz' | xargs zcat | gzip > /fast/me/2013-12-28.csv.gz
问题是我需要为大约 250 个不同的日期运行此命令,因此一次执行此命令非常乏味。
我想要做的是有一个脚本,它将在“查找”之后和文件名中将日期增加 1 天。我什至不知道这会是什么样子,使用什么命令等等。
背景:
find 命令正在一个文件夹中使用,其中包含 1 天的数据。每天的文件夹包含 24 个子文件夹,每个子文件夹包含大约 100 个 gzip 压缩的 CSV 文件。所以 find 命令是从文件夹向上 2 层所必需的,因为它会扫描每个文件夹以组合所有数据。最终结果是将所有压缩文件合并为 1 个大压缩文件。
如果有人能提供帮助,我们将不胜感激,否则我还有大约 250 个命令要执行,这显然会很糟糕。
【问题讨论】:
-
这些顶级文件夹的名称中是否包含日期?这会让事情变得更容易。
-
嗨,eigenchris,是的。
-
嗨,eigenchris,是的,顶级文件夹都命名为“2014-01-01”、“2014-01-02”等。子文件夹命名为“0-0”、“0 -1”、“0-2”等。实际文件看起来像“00:00:00.csv.gz”、“00:05:00.csv.gz”、“00:10:00.csv”。 gz”等
-
实际上是否有日期被遗漏(排除)?
标签: linux bash loops for-loop while-loop