【问题标题】:Using cut command使用剪切命令
【发布时间】:2015-12-16 19:13:09
【问题描述】:

假设我有这个文件(名为 file_1 的文件),其中包含:

{
   "a":100,
   "b":2045,
}

我怎样才能只保留数字 100?

我已经尝试过命令(grep "a" | cut -d ':' -f 2)

但我只想要 100 个。我该怎么做?

【问题讨论】:

标签: terminal grep cut


【解决方案1】:

您的命令生成100,。您需要的只是多一步。有几种选择:

  • 另一个剪切,带有字段分隔符,,选择第一个字段:
    grep "a" | cut -d ':' -f 2 | cut -d ',' -f 1
  • 您还可以使用 sed 删除(即用任何内容替换)逗号: grep "a" | cut -d ':' -f 2 | sed "s/,//g"
  • 说到sed:sed也可以把答案改写成想要的形式:
    grep "a" | sed -E "s/.*:(.*),/\1/g"
    • 在这里,我们替换了包含以下内容的内容
      1. :之前的一部分
      2. 括号中:, 之间的部分
    • with \1: 括号内匹配的搜索部分,这里是:,之间的数字
  • 单独使用 sed 会更容易,因为 sed 也可以执行 greps 任务:
    sed -E -n '/"a":/ {s/.*:(.*),/\1/g; p }'
    • /"a:"/ 定义了一个匹配项,大括号中的以下部分定义了当行匹配时应该执行的操作,这里是重写,如上所述,然后用p 打印重写的行。

【讨论】:

    猜你喜欢
    • 2020-09-14
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多