一連のテキストファイルを作成したいと思います。各テキストファイルには、入力ファイルの列2の共有値に基づいて、入力ファイルの列1の値のカンマ区切りリストが含まれています。
入力ファイル形式:
CB-03-01-01 CB-03.1
CB-03-01-02 CB-03.1
CB-03-01-03 CB-03.1
CB-03-02-01 CB-03.2
CB-03-02-02 CB-03.2
CB-03-02-03 CB-03.2
CB-08-01 CB-08
CB-08-02 CB-08
CB-08-03 CB-08
希望の出力:CB-03.1.txt
CB-03-01-01,CB-03-01-02,CB-03-01-03
CB-03.2.txt
CB-03-02-01,CB-03-02-02,CB-03-02-03
CB-08.txt
CB-08-01,CB-08-02,CB-08-03
あなたが提供できる助けに感謝します!
ベストアンサー1
使用できるコマンドは次のとおりです。
awk '{a[$2]=a[$2]","$1} END {for(i in a) print substr(a[i],2) >i".txt"}' input_file
a
連想配列の場合、substr
この関数は配列要素の最初の割り当てから前のコンマを削除します。
コメントによっては、一部のバージョン>i".txt"
に置き換えて開いたファイルハンドラを閉じる必要があります。>(i".txt"); close(i".txt")
awk