最初のフィールドに基づいてファイル行を分割する

最初のフィールドに基づいてファイル行を分割する

私のファイルの内容は以下のようになり、私の出力を以下のように変換したいと思います。

  • 入力する

    1,a,b,c
    2,b,c
    3,e,f
    4,l
    
  • 希望の出力

    1,a
    1,b
    1,c
    2,b
    2,c
    3,e
    3,f
    4,l
    

最初のフィールドの値は一意であり、入力の最初のフィールドに重複した行はありません。

私はスクリプトに初めてアクセスし、これをどのように実行できるかわかりません。

ベストアンサー1

awk2で始まるフィールドを使用して繰り返すことができます。

awk -F, '{ OFS=FS; for (i=2;i<=NF;i++) print $1,$i }' file

出力:

1,a
1,b
1,c
2,b
2,c
3,e
3,f
4,l

おすすめ記事