从变量unix中提取值

时间:2017-06-30 09:44:23

标签: linux shell unix scripting

我有一个名为输出的变量,其值如下 -

代码:

output=[record
  bdfo_len      73
  bdfo_key      "     200000016"
  bdfo_param_no "000"
  parm01        NULL
  parm02        NULL
  parm03        NULL
  parm04        NULL
  parm05        NULL
  parm06        NULL
  parm07        NULL
  parm08        NULL
  parm09        NULL
  parm13        NULL
  parm16        NULL
  parm017       NULL
  parm18        NULL
  parm93        NULL
  parm94        NULL
  parm96        NULL
  parm97        NULL
  parm83        NULL
  header        [record
                  bdfo_run_date     41991
                  bdfo_file_id      "GYFL3027"
                  bdfo_centre_id    "G"
                  bdfo_sbi_file_ind "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"]
  trailer       NULL
  data          NULL]

我需要从中提取bdfo_run_date值'41991',任何指针都会非常感激。

1 个答案:

答案 0 :(得分:0)

echo "$output"|grep -oP 'bdfo_run_date\s+\K[^ ]+'
41991

-o:仅打印匹配的字符串而不是整行 -p:启用perl正则表达式。

regex: bdfo_run_date后跟一个或多个空格字符。 \K会删除留给它的所有内容。