我有一个名为输出的变量,其值如下 -
代码:
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',任何指针都会非常感激。
答案 0 :(得分:0)
echo "$output"|grep -oP 'bdfo_run_date\s+\K[^ ]+'
41991
-o
:仅打印匹配的字符串而不是整行
-p
:启用perl正则表达式。
regex:
bdfo_run_date后跟一个或多个空格字符。 \K
会删除留给它的所有内容。