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

求教一个用 shell 进行文本编辑的问题

  •  
  •   romotc · 2014-07-18 13:13:09 +08:00 · 2054 次点击
    这是一个创建于 3593 天前的主题,其中的信息可能已经有所发展或是发生改变。
    文本内容:
    {
    "infoes": {
    "1005":"abcd",
    "1006":"aaaa",
    "1289":"bbbb!"
    },
    "name": "lily",
    "age": 20
    }
    请问如何对infoes中的内容进行增、删、改、查。
    14 条回复    2014-07-18 16:07:02 +08:00
    multiple1902
        1
    multiple1902  
       2014-07-18 13:16:17 +08:00
    用 nodejs 之类的东西 eval 一下这个 json (或者 json 类似物)拿到一个对象,然后折磨那个对象?
    romotc
        2
    romotc  
    OP
       2014-07-18 13:20:45 +08:00
    @multiple1902 想用shell的方式进行增删改查
    leavic
        3
    leavic  
       2014-07-18 13:21:24 +08:00   ❤️ 1
    SED+正则表达式
    romotc
        4
    romotc  
    OP
       2014-07-18 13:22:46 +08:00
    @leavic 多谢,正在看这块的内容,不过有些晕。。。。
    multiple1902
        5
    multiple1902  
       2014-07-18 13:24:21 +08:00
    @romotc 哦这个容易,写个自动机把这个文本文件读出来,然后写个简单的关系型数据库来实现增删查改。
    xxr3376
        6
    xxr3376  
       2014-07-18 13:26:02 +08:00
    @romotc 为何不直接用jq操作?
    romotc
        7
    romotc  
    OP
       2014-07-18 13:27:41 +08:00
    @xxr3376 请问jq是?
    romotc
        8
    romotc  
    OP
       2014-07-18 13:28:45 +08:00
    @multiple1902 主要是有别的程序依赖这个文本
    multiple1902
        9
    multiple1902  
       2014-07-18 13:31:12 +08:00
    @romotc 我不是特别懂这是什么样的依赖,但在 shell 里面调用点其他高级语言(比如 Js 这类)的解释器(比如 nodejs)跟调用 UNIX 工具其实没有什么太大的区别。除非你的需求是确实不方便加入别的依赖。
    rrfeng
        10
    rrfeng  
       2014-07-18 13:48:57 +08:00   ❤️ 1
    github 上有个 shell json 脚本,自己去找一下吧……
    但是很难用。
    xxr3376
        11
    xxr3376  
       2014-07-18 13:53:11 +08:00   ❤️ 2
    @romotc 搜索一下不就有了么。。。http://stedolan.github.io/jq/ ,shell里操作json的程序
    romotc
        12
    romotc  
    OP
       2014-07-18 14:06:12 +08:00
    @xxr3376 多谢,刚还以为是jquery
    lu18887
        13
    lu18887  
       2014-07-18 16:02:51 +08:00
    这不是 SHELL的强项,估计写出来会比较冗长和维护性差
    romotc
        14
    romotc  
    OP
       2014-07-18 16:07:02 +08:00
    @lu18887 感觉xxr3376提到的这个jq不错,打算用这个。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1249 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:35 · PVG 01:35 · LAX 10:35 · JFK 13:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.