2016-04-06 12 views
-5

böyle dosya var:Baskı özel simgeler başlamak vardır her 3 dizeleri

user bbbb 
user bbbb 
user bbbb 
Server sent 214221 
Server receive 134212 
user aaaa 
Server sent 2222 
Server receive 1231231 
user cccc 
Server sent 32424 
Server receive 3242352 
user dddd 
Server sent 522 
Server receivce 21652532 
user eeee 
user ffff 
Server sent 32563 
Server receive 9045432 
user aaaa 
Server sent 3256 
Server receive 923211 
user gggg 
Server sent 75425 
Server receive 125463 
user dddd 
user dddd 
Server sent 35262 
Server receive 456438 

ben her 3 dize (ilk dizesi "kullanıcı" başlatan özü bu dosyada ayrıştırmak istiyor, ikinci - "Sunucu gönderilen '

Ben buna benzer bir sonuç istiyorum:

user bbbb 
Server sent 214221 
Server receive 134212 
user aaaa 
Server sent 2222 
Server receive 1231231 
user cccc 
Server sent 32424 
Server receive 3242352 
user dddd 
Server sent 522 
Server receivce 21652532 
user ffff 
Server sent 32563 
Server receive 9045432 
user aaaa 
Server sent 3256 
Server receive 923211 
user gggg 
Server sent 75425 
Server receive 125463 
user dddd 
Server sent 35262 
Server receive 456438 

Ben dize her tekrarını atlamak istiyoruz. '-", üçüncü' Sunucu alma kullanıcı' Sadece bu dizeleri gerekir:

user 
Server sent 
Server receive 

cevap

0

bunu kullanın:

grep -A 1 -B 1 'Server sent' file.txt | sed '/^--$/d' 

(OR)

grep -C 1 'Server sent' file.txt | sed '/^--$/d' 
+0

çok teşekkürler. Benim için iyi çalışıyor. –