2016-11-30 27 views
0

我有一個要求,我必須在下劃線模式中分割文件,並且應該對結果進行分組。如何在UNIX中以特定模式分割文件

對於例如,

我的文件包含,

ADD1_5001AB 
ADD1_5002AB 
ADD1_5003BC 
ADD2_5100XY 
ADD2_5101YZ 
CANC1_5200AB 
CANC1_5201BC 
CANC2_5301GH 
CANC2_5302FG 

所以我的成績應該有4個文件, 一號文件應包含,

ADD1_5001AB 
ADD1_5002AB 
ADD1_5003BC 

第二個文件應包含,

ADD2_5100XY 
ADD2_5101YZ 

第三文件應包含,

CANC1_5200AB 
CANC1_5201BC 

第四檔應包含

CANC2_5301GH 
CANC2_5302FG 

請幫助。

謝謝。

回答

3

AWK是這方面的一個很好的解決方案:

awk -F"_" '{print $0 > $1}' infile.txt 

將由下劃線(-F"_")分裂,並打印出每個行(print $0)的下劃線(> $1)前位的名字命名的文件。

+0

非常感謝JNevill,它的工作方式正是我想要的。 –

+0

我有另一個問題。你是否也可以幫助我根據行號拆分同一個文件,I.e在它被分割爲下劃線之後,它必須再次在行號處分割。在同一個awk命令中 –

+0

請提出一個新問題 – JNevill

相關問題