【问题标题】:Unix / Sed strip x number of digits from a stringUnix / Sed 从字符串中去除 x 位数
【发布时间】:2015-04-20 04:40:03
【问题描述】:

花了很长时间试图弄清楚如何从字符串中去除一定数量的数字。在这种情况下,我只想去掉日期部分(下面以 YYYYMMDD 格式注明 - 在 'D' 后面的 8 位数字中。

我曾考虑在 D 之后取 8 个字符,但我认为找到我们有 8 个连续数字的实例可能会更安全,以防将来文件名发生变化。

示例字符串: HelloWorld.D20150101T121501.xml

预期结果: 20150101

任何帮助将不胜感激。谢谢!!!

【问题讨论】:

    标签: regex unix awk sed tr


    【解决方案1】:
    $ echo "HelloWorld.D20150101T121501.xml" | sed -r 's/.*([0-9]{8}).*/\1/'
    20150101
    

    【讨论】:

    • 感谢 Ed,非常感谢!
    猜你喜欢
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多