变量值提取

时间:2017-06-29 13:32:39

标签: shell scripting

我知道这很简单,但没有得到它。 我有一个shell脚本,在脚本中,变量保存如下所示的值 - 记录1:[记录bdfo_len 73 bdfo_key“200000014”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标头[记录bdfo_run_date 41991 bdfo_file_id“GYFL3027”bdfo_centre_id“G”bdfo_sbi_file_ind“YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY”] trailer NULL data NULL]记录2:[记录 我需要从中提取bdfo_run_date,请问该怎么做?

2 个答案:

答案 0 :(得分:0)

如果您使用带有正则表达式支持的bash,则可以构建一个与您感兴趣的输入部分匹配的正则表达式:

bdfo_run_date [0-9]+

将您需要的部分放在括号中,并使用将匹配结果放入数组=~的{​​{1}}运算符:

BASH_REMATCH

答案 1 :(得分:0)

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