【问题标题】:Replacing the date in a csv file with mm-yyyy用 mm-yyyy 替换 csv 文件中的日期
【发布时间】:2019-08-17 04:30:43
【问题描述】:

我有一个包含一列日期的 csv 文件。日期格式为 dd.mm.yyyy。如何使用 sed 将日期替换为 mm-yy 格式?也就是说,用 mm-yyyy 替换日期,这是一个文本并在日期中删除日期。输入 csv 文件的示例是:

11.12.2018
21.01.2019
07.02.2019
29.03.2019
01.04.2019

我希望输出是:

12-18
01-19
02-19
03-19
04-19

【问题讨论】:

    标签: date sed replace


    【解决方案1】:

    使用 GNU sed:

    sed -r 's/...(..)...(..)/\1-\2/' file
    

    -r:在脚本中使用扩展正则表达式。

    输出:

    12-18 01-19 02-19 03-19 04-19

    见:The Stack Overflow Regular Expressions FAQ

    【讨论】:

    • 我收到以下错误消息:sed: 非法选项 -- r 用法:sed 脚本 [-Ealn] [-i 扩展名] [file ...] sed [-Ealn] [-i 扩展名] [-e 脚本] ... [-f 脚本文件] ... [文件 ...]
    • 你不使用 GNU sed。尝试将-r 替换为-E
    猜你喜欢
    • 2013-09-13
    • 1970-01-01
    • 2015-12-26
    • 1970-01-01
    • 2015-06-01
    • 2017-06-24
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多