这是一段代码...
out0::HRSKACTMGT_FNL_ACTN_DECSN_documentation(in)=
begin
out0.hram_cust_acct_actn_in::depends_on(
in.acct_ref_nb,
lookup("hrskactmgt interim actn decsn rollup lookup",'keystr').common_rollup_out_num00
/* Rule: "Compute hram_cust_acct_actn_in" */ );
out0.cld_acct_rndm_dgt_2_nb::depends_on(
in.entp_prty_id,
lookup("hrskactmgt interim actn decsn rollup lookup",'keystr').common_rollup_out_num01
);
out0.*::in.*;
end;
这段代码说的是一个数据元素依赖于这些其他数据元素。我想运行一系列sed命令来剥离所有依赖项。我不在乎那里的家属。我只想列出所有依赖项。然后,我可以使用awk删除重复项。因此,对于上面的代码,它将打印出...。
acct_ref_nb
common_rollup_out_num00
entp_prty_id
common_rollup_out_num01
几乎就像我想要的那样,对于每组括号之间的所有文本,在小数点右边打印出字符串值。
答案 0 :(得分:0)
这有点复杂。我已经尽力了,请检查它是否符合您的要求。
$ cat ab_code.dat
out0::HRSKACTMGT_FNL_ACTN_DECSN_documentation(in)=
begin
out0.hram_cust_acct_actn_in::depends_on(
in.acct_ref_nb,
lookup("hrskactmgt interim actn decsn rollup lookup",'keystr').common_rollup_out_num00
/* Rule: "Compute hram_cust_acct_actn_in" */ );
out0.cld_acct_rndm_dgt_2_nb::depends_on(
in.entp_prty_id,
lookup("hrskactmgt interim actn decsn rollup lookup",'keystr').common_rollup_out_num01
);
out0.*::in.*;
end;
$ perl -0777 -ne ' { s/(.*)begin(.*?)end;/\2/msg; while(/(?=::)(.*?)\(.*?\.(.+?)\b.*?\.(.+?)\);/msg) { print "$2\n"."$3\n" } } ' ab_code.dat | grep -v '/\*'
acct_ref_nb
common_rollup_out_num00
entp_prty_id
common_rollup_out_num01
答案 1 :(得分:-1)
像这样用awk
获得结果!
awk -F ' . ' ' /,/ { print $2 } ' file