【问题标题】:Is there any hope of parsing csv-like file with augeas?有没有希望用 augeas 解析类似 csv 的文件?
【发布时间】:2014-12-16 07:53:50
【问题描述】:

我正在尝试构建一个可以解析具有以下格式的文件的镜头

#header1 header2 header3

valA1 valA2      valA3
valB1    valB2   valB3

我希望结果类似于以下树:

root
 +--[1]
 |   +----header1 -> valA1
 |   +----header2 -> valA2
 |   +----header3 -> valA3
 +--[2]
     +----header1 -> valB1
     +----header2 -> valB2
     +----header3 -> valB3

问题在于,首先我需要解析标题行以了解字段名称​​并记住它们,然后将它们多次用作所有后续行的键名来源。有谁知道如何开始写这样的镜头?我检查了与 augeas 捆绑在一起的所有 181 个镜头,没有发现我怀疑会解析表格的镜头。

【问题讨论】:

    标签: augeas


    【解决方案1】:

    不,在 Augeas 中不可能将值存储在标题中并将它们用作每一行的标签。

    但是,您可以像这样构建一棵树:

    { "#comment" = "header1 header2 header3" }
    { "1"
      { "1" = "valA1" }
      { "2" = "valA2" }
      { "3" = "valA3" }
    { "2"
      { "1" = "valA1" }
      { "2" = "valB2" }
      { "3" = "valB3" } }
    

    【讨论】:

    • 这个表格对于我的目的来说是不够的。谢谢你的回答!
    • ...但只需很少的后处理,我可能会得到我想要的(例如,编写一个脚本,将此树转换为 INI 文件,然后使用 augeas 将其解析为我想要的形式) .你能给我一些现有镜头的建议吗?
    • 只需很少的后处理,您也可以解析第一行,然后将第一行中的数字与镜头代码之外的其他行中的数字相关联。
    猜你喜欢
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多