首页 > 解决方案 > 使用终端在 CSV 文件中搜索 2 个关键词并创建一个新的 csv 文件

问题描述

我有几个相当大的 CSV 文件(最大 130GB)。由于我不需要 2017 年及以后的数据,因此我想 grep 2018 年以上的数据(数据仅到 2019 年 6 月)并创建一个新的 csv 文件以使其更小。

我试过这个:

grep "2018-" file.csv | grep "2019-" > file_1819.csv

目前它只查找在一行中同时具有两个时间戳的文件(所以基本上评论在 2018-04-01 到期 2019-04-01)。我也需要这个,但我也需要:

是一行只做了 2018-05-01 并且没有过期日期。目前它不包含在新的 csv 文件中。

样本将是:

输入文件

4108,48.74,"2017-09-16 16:15:04"
4249,8.1,"2017-09-16 16:15:04"
4197,3.81,"2017-09-16 17:20:00"
4139,26.81,"2018-09-16 16:15:04"
4218,24.83,"2018-09-16 17:20:00"
4260,79.72,"2018-09-16 16:15:04"
4270,450.12,"2019-09-16 17:20:00"
4242,30.38,"2019-09-16 16:15:04"
4193,1.42,"2019-09-16 16:15:04"
4134,3.77,"2019-09-16 16:15:04

输出文件:

    4139,26.81,"2018-09-16 16:15:04"
    4218,24.83,"2018-09-16 17:20:00"
    4260,79.72,"2018-09-16 16:15:04"
    4270,450.12,"2019-09-16 17:20:00"
    4242,30.38,"2019-09-16 16:15:04"
    4193,1.42,"2019-09-16 16:15:04"
    4134,3.77,"2019-09-16 16:15:04

谢谢

标签: csvterminalgrepkeyword

解决方案


推荐阅读