本帖最后由 andlef 于 2016-09-09 11:11 编辑
弄完了,忘记了发帖了:
Run:echo 'Paulus Sandrew Alex ANHJ_DoluId("abcd123")\")zzz)", ShanDong,12345; ANHJ_DoluId("bbbb3321");1111;2222;' | awk -F '[, ;\t]' '{for(i=1;i<=NF;i++){if($i~/ANHJ_DoluId/){split($i,a,"ANHJ_DoluId\\(");print a[2]}}}' | sed 's/\(.*\))\(.*\)/\1MyEnd\2/' | awk -F "MyEnd" '{print $1;}'
Result:
"abcd123")\")zzz "bbbb3321"
思路: 1.分离出目标字符串; 2.在sed+正则 做最后一个匹配项的替换(用自定义的字符串MyEnd); 3.打印目标串
注意&遗留问题: ANHJ_DoluId("abcd123")\")zzz)" 需要以固定字符区分([, ;\t]--逗号、空格、分号、tab,关系:或)
感谢 @moperyblue、@saitoshiya、@ jason680、@fh21_xuejinlian、@sunzhiguolu
|