我有一个输入文件如下。我需要根据 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)来做到这一点?