0
cat DecisionService.txt
/MAGI/Household/MAGI_EDG_FLOW.erf;/Medicaid/MAGI_EDG_FLOW;4;4
/VCL/VCL_Ruleflow_1.erf;/VCL/VCL1_EBDC_FLOW;4;4
/VCL/VCL_Ruleflow_2.erf;/VCL/VCL2_EBDC_FLOW;4;4

私はこれを試しました:

cat DecisionService.txt |  cut -d ';' -f2 | cut -d '/' -f2 | tr -s ' ' '\n'

私の出力は次のとおりです。

$i=Medicaid
VCL
VCL

出力を次のようにする必要がありますが、

$a=Medicaid
$b=VCL
4

2 に答える 2

1

一意の値が必要な場合は、次のようにします。

awk -F'/' 'NF&&!a[$(NF-1)]++{print $(NF-1)}' file
Medicaid
VCL

出力にプレフィックス付きのインクリメンタル変数を実際に含めたい場合は、次のようにします。

awk -F'/' 'NF&&!a[$(NF-1)]++{printf "$%c=%s\n",i++,$(NF-1)}' i=97 file
$a=Medicaid
$b=VCL

注: 入力に 26 を超える一意の値が含まれる可能性がある場合は、 などの出力を回避するために、より賢明なことを行う必要があります$|=VCL

于 2013-05-08T14:41:07.667 に答える
0

VCL質問から、正確に何が欲しいのかはあまり明確ではありませんが、出力で繰り返されたくないでしょう。最後に sort と uniq を追加してみてください。

cat DecisionService.txt
/MAGI/Household/MAGI_EDG_FLOW.erf;/Medicaid/MAGI_EDG_FLOW;4;4
/VCL/VCL_Ruleflow_1.erf;/VCL/VCL1_EBDC_FLOW;4;4
/VCL/VCL_Ruleflow_2.erf;/VCL/VCL2_EBDC_FLOW;4;4

cat DecisionService.txt |  cut -d ';' -f2 | cut -d '/' -f2 | tr -s ' ' '\n'|sort|uniq
Medicaid
VCL
于 2013-05-08T14:40:45.773 に答える