awkを使用して列や他の列の一部を印刷する

awkを使用して列や他の列の一部を印刷する

さようなら行ってください。

Linuxオペレーティングシステムツールのみを使用して次のテキストを次に変換するにはどうすればよいですか?

cat latest.csv
apsga,alp1acscf0001vm001oam001p1n004v001,192.7.129.7,UVP
apsga,alp1acscf0001vm001oam001p1n004v002,192.7.129.8,UVP
apsga,alp1acscf0001vm002oam001p1n004v001,192.7.129.9,UVP
apsga,alp1acscf0001vm003oam001p1n004v001,192.7.129.10,UVP
apsga,alp1acscf0001vm004cif001p1n004v001,192.7.129.11,UVP
apsga,alp1acscf0001vm004cif001p1n004v002,192.7.129.12,UVP
apsga,alp1acscf0001vm005cif001p1n004v001,192.7.129.13,UVP

私は次のような結果を得ました。

cat latest.csv`|awk -F',' '{print $2, $3}'|awk '{ $1 = substr($1,1,21); print $1","$2}'
alp1acscf0001vm001oam,192.7.129.7
alp1acscf0001vm001oam,192.7.129.8
alp1acscf0001vm002oam,192.7.129.9
alp1acscf0001vm003oam,192.7.129.10
alp1acscf0001vm004cif,192.7.129.11
alp1acscf0001vm004cif,192.7.129.12
alp1acscf0001vm005cif,192.7.129.13

最終結果は次のとおりです。

ALP1A/alp1acscf0001v,UUID,192.7.129.7,SSH2,alp1acscf0001vm001oam
ALP1A/alp1acscf0001v,UUID,192.7.129.8,SSH2,alp1acscf0001vm001oam
ALP1A/alp1acscf0001v,UUID,192.7.129.9,SSH2,alp1acscf0001vm002oam
ALP1A/alp1acscf0001v,UUID,192.7.129.10,SSH2,alp1acscf0001vm003oam
ALP1A/alp1acscf0001v,UUID,192.7.129.11,SSH2,alp1acscf0001vm004cif
ALP1A/alp1acscf0001v,UUID,192.7.129.12,SSH2,alp1acscf0001vm004cif
ALP1A/alp1acscf0001v,UUID,192.7.129.13,SSH2,alp1acscf0001vm005cif

よろしくお願いします。

ビヨルン

ベストアンサー1

この試み:

awk -F',' '{ print "ALP1A/" substr($2,1,14) ",UUID," $3 ",SSH2," substr($2,1,21) }' file

おすすめ記事