ファイルから特定の文字列を選択して出力します。

ファイルから特定の文字列を選択して出力します。

内容は次のようなファイルがあります。

ae-scc-san-vserver01 /vol/ae_drac02_1_oradminvg_vol/ae_drac02_1_oradminvg_lun               hdisk0          fcs0       FCP        150g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_rootvg_vol/ae_drac02_1_rootvg_lun                     hdisk1          fcs0       FCP        100g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskcrs03SVC_vol/ae_drac02_1_2_hdiskcrs03SVC_lun   hdisk11         fcs0       FCP        16.0g   C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata01SVC_vol/ae_drac02_1_2_hdiskdata01SVC_lun hdisk12         fcs0       FCP        240.0g  C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata02SVC_vol/ae_drac02_1_2_hdiskdata02SVC_lun hdisk13         fcs0       FCP        240.0g  C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata03SVC_vol/ae_drac02_1_2_hdiskdata03SVC_lun hdisk14         fcs0       FCP        240.0g  C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata04SVC_vol/ae_drac02_1_2_hdiskdata04SVC_lun hdisk15         fcs0       FCP        240.0g  C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata05SVC_vol/ae_drac02_1_2_hdiskdata05SVC_lun hdisk17         fcs0       FCP        240.0g  C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata06SVC_vol/ae_drac02_1_2_hdiskdata06SVC_lun hdisk18         fcs0       FCP        240.0g  C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata12SVC_vol/ae_drac02_1_2_hdiskdata12SVC_lun hdisk19         fcs0       FCP        250g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata13SVC_vol/ae_drac02_1_2_hdiskdata13SVC_lun hdisk20         fcs0       FCP        250g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata14SVC_vol/ae_drac02_1_2_hdiskdata14SVC_lun hdisk21         fcs0       FCP        250g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata15SVC_vol/ae_drac02_1_2_hdiskdata15SVC_lun hdisk22         fcs0       FCP        250g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata16SVC_vol/ae_drac02_1_2_hdiskdata16SVC_lun hdisk23         fcs0       FCP        250g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata17SVC_vol/ae_drac02_1_2_hdiskdata17SVC_lun hdisk24         fcs0       FCP        250g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata18SVC_vol/ae_drac02_1_2_hdiskdata18SVC_lun hdisk25         fcs0       FCP        250g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata19SVC_vol/ae_drac02_1_2_hdiskdata19SVC_lun hdisk26         fcs0       FCP        250g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata20SVC_vol/ae_drac02_1_2_hdiskdata20SVC_lun hdisk27         fcs0       FCP        250g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata21SVC_vol/ae_drac02_1_2_hdiskdata21SVC_lun hdisk28         fcs0       FCP        250g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata22SVC_vol/ae_drac02_1_2_hdiskdata22SVC_lun hdisk29         fcs0       FCP        250g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_swapvg_vol/ae_drac02_1_swapvg_lun                     hdisk3          fcs0       FCP        32.0g   C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskdata23SVC_vol/ae_drac02_1_2_hdiskdata23SVC_lun hdisk30         fcs0       FCP        250g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskfra01SVC_vol/ae_drac02_1_2_hdiskfra01SVC_lun   hdisk31         fcs0       FCP        240.0g  C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskfra02SVC_vol/ae_drac02_1_2_hdiskfra02SVC_lun   hdisk32         fcs0       FCP        240.0g  C
ae-scc-san-vserver01 /vol/ae_drac02_1_u01vg_vol/ae_drac02_1_u01vg_lun                       hdisk4          fcs0       FCP        170.0g  C
ae-scc-san-vserver01 /vol/ae_drac02_1_exportsvg_vol/ae_drac02_1_exportsvg_lun               hdisk5          fcs0       FCP        100g    C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskcrs01SVC_vol/ae_drac02_1_2_hdiskcrs01SVC_lun   hdisk6          fcs0       FCP        16.0g   C
ae-scc-san-vserver01 /vol/ae_drac02_1_2_hdiskcrs02SVC_vol/ae_drac02_1_2_hdiskcrs02SVC_lun   hdisk7          fcs0       FCP        16.0g   C

サーバー名をキャプチャする必要があります。で始まり、hdiskで終わりますSVC。私は以下を試しました:

sed 's/^*hdisk(.*)SVC.*/\1/' filename

次のエラーが発生します。

sed: 1: "s/^*hdisk(.*)SVC.*/\1/": \1 not defined in the RE

誰かがそれをキャプチャする方法を助けることができますか?

ベストアンサー1

問題がhdisk...SVC発生しました二重行に.*あり、貪欲

GNU grepがある場合は、この-Pオプションを使用して貪欲ではない一致を取得できます。

grep -oP '(?<=hdisk).+?(?=SVC)' file | sort -u

出力

crs01
crs02
crs03
data01
data02
data03
data04
data05
data06
data12
data13
data14
data15
data16
data17
data18
data19
data20
data21
data22
data23
fra01
fra02

おすすめ記事