【发布时间】:2019-06-21 08:46:19
【问题描述】:
给定一个带有文件名列表(带有文件路径)的单个文件,例如:
input.txt (contents):
/2018/06/01/abc.txt
/2018/06/01/xyz.txt
/2018/06/02/abc.txt
/2018/06/02/xyz.txt
/2018/06/03/xyz.txt
/2018/06/03/abc.txt
/2018/06/01/ghi.txt
… 必须每个日期创建一个文件,其中仅包含与该日期对应的文件名 (全部使用标准的 Unix 命令) 例如, 预期输出:
cat 2018-06-01.txt =>
/2018/06/01/abc.txt
/2018/06/01/xyz.txt
/2018/06/01/ghi.txt
cat 2018-06-02.txt =>
/2018/06/02/abc.txt
/2018/06/02/xyz.txt
所有其他日期也是如此。
【问题讨论】:
-
您可以遍历该文件并为每一行提取日期部分,然后将该行附加到相应的文件中。但请注意,如果您遵循这种幼稚的方法,则意味着对于输入文件中的每一行,bash 都必须打开输出文件、执行附加操作并关闭输出文件。如果你有很多行,这可能需要很长时间。对于很长的输入文件,我不会使用 bash 来完成这项任务。
-
@user1934428 我正在尝试为 unix 编写脚本,您能帮忙吗?
-
糟糕,您忘记发布代码了。 StackOverflow 旨在帮助人们修复他们的代码。这不是免费的编码服务。任何代码都比没有代码好。即使您不知道如何编写它,元代码甚至会展示您认为程序应该如何工作。鉴于您包含的标签,我希望在您的问题中看到一些 bash 代码。
-
@VineetD :发布您的代码并告诉我们您遇到的问题。