我有一个输入文件,如下所示。我需要根据列将它们分成多个文件2,3 & 5.文件有更多的列,但我已经使用cut命令来获取所需的列。根据列连接将大文件拆分成小的多个文件
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),然后在每条记录上运行一个循环并开始创建文件。如果文件不存在,则创建并添加记录。否则,打开旧文件并添加记录。
是否有可能使用shell脚本(bash)来做到这一点?
我用sort命令和排序基于这3列的文件。 – Anuj