从bash中的每一行中删除第一个数字(1-2个字符长度)

got*_*ner 1 bash json jq

我在 bash 中使用 jq 命令从 json 读取数据。我采用的字段之一会产生这样的数据;

[
  "0local>aggr.tasks.max = 128",
  "1local>aggr.tasks.max = 128",
  "2local->aggi.tasks.max = 128",
  "3local>aggr.fetch.max.wait.ms = 150",
  "4local>aggr.fetch.max.wait.ms = 150",
  "5local->aggr.fetch.max.wait.ms = 150",
  "6local->aggr.fetch.min.bytes = 10485760",
  "7local>aggr-fetch.min.bytes = 10485760",
  "8local>aggr-fetch.min.bytes = 10485760",
  "9local->aggr.fetch.max.bytes = 52428800",
  "10local->aggr.fetch.max.bytes = 52428800",
  "11local->aggr.fetch.max.bytes = 52428800",
  "12local->aggr.max.request.size = 10485760",
  "13local->aggr-max.request.size = 10485760",
  "14local->aggr-max.request.size = 10485760"
]
Run Code Online (Sandbox Code Playgroud)

我试图摆脱起始数字。

我面临的问题是;

  1. 如果我使用 sed 删除第一个数字,一旦达到 10,我就会遇到问题,因为现在我有 2 个数字
  2. 如果我尝试删除所有数字,我也会删除每一行的值

谁能帮我一个简单的解决方案来删除每行开头的所有数字,而不影响该行的其余部分?

ogu*_*ail 6

使用 JQ 会更容易。例如:

jq 'map(sub("^\\d+";""))'
Run Code Online (Sandbox Code Playgroud)

在线演示