V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
css3
V2EX  ›  程序员

想用 shell 在文本文件中插入一个空格,怎么弄

  •  
  •   css3 · 2019-05-06 18:49:59 +08:00 · 2771 次点击
    这是一个创建于 2012 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想保持 test.txt 文件中,每个 key 后边的冒号有且只有一个空格,应该怎么处理

    # text.txt
    a: 1 # 标准格式
    b:2
    c:   3
    d:
    
    6 条回复    2019-05-06 19:34:32 +08:00
    HeiXiaoBai
        1
    HeiXiaoBai  
       2019-05-06 18:56:02 +08:00   ❤️ 1
    sed "s/:[ ]*/: /" test.txt > test_sed.txt
    css3
        2
    css3  
    OP
       2019-05-06 19:01:59 +08:00
    @HeiXiaoBai
    文件里边有这样一行,k1 和 k2 后边的冒号中的空格,您这个好像不生效
    abc: [{"k1": "v1", "k2": "v2"}]
    HeiXiaoBai
        3
    HeiXiaoBai  
       2019-05-06 19:11:26 +08:00
    sed "s/:[ ]*/: /g" test.txt
    kaliu
        4
    kaliu  
       2019-05-06 19:11:29 +08:00
    @css3
    sed "s/:[ ]*/: /g" test.txt > test_sed.txt
    ifaii
        5
    ifaii  
       2019-05-06 19:32:08 +08:00
    perl -pe 's/^(\S+?\:)( *)(.*)$/\1 \3/' test.txt > new_text.txt

    测试文本

    abc:[{"k1": "v1", "k2":"v2"}]
    xxxa:sd:asdasdas
    abc:[{"k1": "v1", "k2":"v2"}]
    abc: [{"k1": "v1", "k2": "v2"}]
    # asdasdasd asdd: ss
    css3
        6
    css3  
    OP
       2019-05-06 19:34:32 +08:00
    @css3 @HeiXiaoBai @kaliu @ifaii 多谢各位,已完美解决
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5069 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 01:12 · PVG 09:12 · LAX 17:12 · JFK 20:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.