CSV形式のテキスト編集用のBashスクリプト

CSV形式のテキスト編集用のBashスクリプト

マニフェストbashスクリプトの一部としてSFPモジュールを確認し、それを.csvファイルに追加します。現在の形式はさまざまな長さで、次のようになります。

RO01;1000BaseSX SFP;1000BaseSX SFP
RO02;1000BaseSX SFP;1000BaseSX SFP;1000BaseLX SFP

私の目標は、最初の行だけでなく、最初の行以降の各行にも独自の行を提供することです。したがって、上記の行は次のようになります。

RO01;1000BaseSX SFP
RO01;1000BaseSX SFP
RO02;1000BaseSX SFP
RO02;1000BaseSX SFP
RO02;1000BaseLX SFP

テキスト処理を使用してこれをどのように達成できますか?

ベストアンサー1

考えられる解決策は以下を使用することですawk

awk -F";" '{ for (i = 2; i <= NF; i++) { printf("%s;%s\n", $1, $i); } }' file

(フィールド区切り記号)をに設定しましたawk -F";"。次に、各行(レコード)に対してフィールド2から最後のフィールド()まで始め、フィールド1と現在のフィールド()を印刷します。FS;NFfor (i = 2; i <= NF; i++)$i

おすすめ記事