2016-09-22 65 views
0

我有如下表:GAWK:從和記錄到另一個

login:numero:sobrenome:nome 
INICIO  
Alcala:1234:Thomas:Alcala 
Baron:1235:Alexis:Baron 
Bezier:1236:Pascal:Bezier 
Boutier:1237:Damien:Boutier 
Buard:1238:Jeremy:Buard 
Fagour:1239:Dimitri:Fagour 
Fagour:1240:Stephane:Fagour 
Justice:1241:Jonathan:Justice 
FIM 
Numero de usuario = 15 

我想從線貝塞爾總和返回Buard。 我嘗試下面的命令:

gawk '/Bezier/{init=NR}/Buard/{fin=NR}NR>=$init{Sum1+=$2}NR>$fin{Sum2+=$2}END{Sum=Sum1-Sum2;print Sum}BEGIN{FS=":"}' arq_test_awq 

但是沒辦法,SUM2總是/ Buard /行開始。即使我把「fin = NR + 1」,結果也是一樣的。我可以從/ Fagour /開始解決問題,但我不明白爲什麼它不適用於此版本。

回答

1

檢查是否這些都是感興趣的記錄

$ awk -F: '/Bezier/,/Buard/' file 
    Bezier:1236:Pascal:Bezier 
    Boutier:1237:Damien:Boutier 
    Buard:1238:Jeremy:Buard 

總結末

$ awk -F: '/Bezier/,/Buard/{sum+=$2} END{print sum}' file 
3711 
第二場和打印
相關問題