romlogNF.102516.gz:10/25/16 03:38:32 OUT ID=123456789-1-3 <rpy><ord_sts><sess_id>102422345678</sess_id><rtn_cde>-44</rtn_cde><code_nbr>1940</code_nbr><stg_ord_nbr>0</stg_ord_nbr><inv_nbr>0</inv_nbr><prj_nbr>0</prj_nbr></ord_sts></rpy>
romlogNF.102616.gz:10/26/16 04:38:32 OUT ID=123456789-1-3 <rpy><ord_sts><sess_id>202422345945</sess_id><rtn_cde>-44</rtn_cde><code_nbr>1942</code_nbr><stg_ord_nbr>0</stg_ord_nbr><inv_nbr>0</inv_nbr><prj_nbr>0</prj_nbr></ord_sts></rpy>
需要输出:
ID=123456789-1-3 <code_nbr>1940</code_nbr>
ID=123456789-1-3 <code_nbr>1942</code_nbr>
答案 0 :(得分:0)
试试这个:
awk -v FS="[[:space:]]|<code_nbr>|</code_nbr>" '{print $4,"<code_nbr>"$7"</code_nbr>"}'
在awk中,FS用于字段分隔符,使用管道符号(“|”),可以设置多个字段分隔符。在这种情况下,我将字段分隔符设置为空格,并将标记设置为“&lt; code_nbr&gt;”和“&lt; / code_nbr&gt;”。