awkを使用してテーブル形式を変更する

awkを使用してテーブル形式を変更する

以下のように非常に長いテーブルをたくさん再フォーマットする必要があります。

オリジナルフォーマット:

John Smith,Jones,Taylor
Janet Williams,Brown,Wilson

必須形式:

John Smith
John Jones
John Taylor
Janet Williams
Janet Brown
Janet Wilson

どうすればいいですか?

ベストアンサー1

そしてawk

awk -F"[ ,]" '{for(i=2;i<=NF;i++){print $1,$i;}}' file
  • -F"[ ,]": 区切り文字はスペースとカンマで設定されます。$1名前に姓を追加し、$2最後のフィールドに姓を追加しました。
  • for(i=2;i<=NF;i++):フィールド2から始めて各フィールドを繰り返します。
    • print $1,$i;:氏名を記載してから姓を記入してください。

出力:

John Smith
John Jones
John Taylor
Janet Williams
Janet Brown
Janet Wilson

おすすめ記事