2015-10-13 53 views
0

我想添加一個計數器到使用unix的特定字符串,我已經嘗試了一些sed和awk命令,但我似乎無法正確執行。使用unix添加計數器到特定的字符串

我的輸入文件是:

Event_ A  D  L  K 
Event_ B  P  R 
Event_ C  F  I 
Event_ J  K 
M 
N 
O 
Event_ Q  S 
X 
Y 
Z 
G 
T 

什麼我希望得到的是:

Event_00000001 A  D  L  K 
Event_00000002 B  P  R 
Event_00000003 C  F  I 
Event_00000004 J  K 
M 
N 
O 
Event_00000005 Q  S 
X 
Y 
Z 
G 
T 

誰能幫助?

回答

3

使用此awk

awk '/^Event/{$1=sprintf("%s%06d", $1,++counter)}1' yourfile 

如果字段由\t(TAB)分隔,

awk -F"\t" '/^Event/{$1=sprintf("%s%06d", $1,++counter)}1' OFS='\t' yourfile 

測試:

$ awk '/^Event/{$1=sprintf("%s%06d", $1,++counter)}1' file 
Event_000001 A D L K 
Event_000002 B P R 
Event_000003 C F I 
Event_000004 J K 
M 
N 
O 
Event_000005 Q S 
X 
Y 
Z 
G 
T 
+0

完美!謝謝! – Gloom

相關問題