V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
vincentzlt
V2EX  ›  问与答

bsd-sed 竟然不能处理‘\n’,真的坑

  •  
  •   vincentzlt · 2019-02-15 11:55:52 +08:00 · 1100 次点击
    这是一个创建于 648 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这两天再写一个处理文本的脚本,linux 上面运行通过了,mac 上面就是不行。查了半天原来 bsd-sed 里面正则表达式不能处理换行符‘\n ’。。这是什么鬼设计?

    6 条回复    2019-02-15 14:57:35 +08:00
    msg7086
        1
    msg7086   2019-02-15 12:33:27 +08:00
    拿 linux-sed 上跑得通的代码去 bsd-sed 里,是有可能跑不通的呀。
    lizheming
        2
    lizheming   2019-02-15 12:43:23 +08:00
    所以一般我都写 [\r\n]+ 一般情况下问题都不大…
    ps. 换行符格式不一样不应该是基础知识么...
    kfll
        3
    kfll   2019-02-15 12:46:26 +08:00 via iPhone
    ˊ_>ˋ撇开好不好用不谈的话,

    先有的 bsd sed 再有的 gnu sed ;可以用 homebrew 安装 gnu sed
    vincentzlt
        4
    vincentzlt   2019-02-15 14:55:36 +08:00
    @msg7086 只是没想到这个坑。。。主要是想让脚本不同平台都能运行
    vincentzlt
        5
    vincentzlt   2019-02-15 14:56:31 +08:00
    @lizheming 不是换行符的问题,是没法识别\n
    vincentzlt
        6
    vincentzlt   2019-02-15 14:57:35 +08:00
    @kfll 懂了。现在已经全改了 python。。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2885 人在线   最高记录 5268   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 15:11 · PVG 23:11 · LAX 07:11 · JFK 10:11
    ♥ Do have faith in what you're doing.