次のような入力ファイルがあります。列 2、3、および 5 に基づいて複数のファイルに分割する必要があります。ファイルにはさらに列がありますが、カットコマンドを使用して必要な列のみを取得しました。
12,Accounts,India,free,Internal
13,Finance,China,used,Internal
16,Finance,China,free,Internal
12,HR,India,free,External
19,HR,China,used,Internal
33,Finance,Japan,free,Internal
39,Accounts,US,used,External
14,Accounts,Japan,used,External
11,Finance,India,used,External
11,HR,US,used,External
10,HR,India,used,External
出力ファイル:
Accounts_India_Internal --
12,Accounts,India,free,Internal
Finance_China_Internal --
13,Finance,China,used,Internal
16,Finance,China,free,Internal
HR_India_External --
12,HR,India,free,External
10,HR,India,used,External
HR_China_Internal --
19,HR,China,used,Internal
等々..
これを達成する方法を教えてください。
今のところ、これらの列 (2、3、5) に基づいてファイルを並べ替え、各レコードでループを実行してファイルの作成を開始することを考えています。ファイルが存在しない場合は、レコードを作成して追加します。それ以外の場合は、古いファイルを開いてレコードを追加してください。
シェルスクリプト (bash) を使用してこれを行うことは可能ですか?