Sanırım şu işinizi görecektir:

#!/bin/bash

IFS=
card=
tel=0
line=

while read line
do
  if [[ $line == BEGIN\:VCARD* ]]
  then
    card=$line
  else if [[ $line == TEL\;CELL* ]]
    then
      tel=1
      card=$card$line
  else if [[ $line == END\:VCARD* ]] && [[ $tel == 1 ]]
    then
      card=$card$line
      echo $card;
      card=
      tel=0
    else
      card=$card$line
    fi
  fi
  fi
done < $1

Hikmet Coskun Gunduz...


2014-08-27 15:18 GMT+03:00 Özgür Kılıçaslan <[email protected]>:

> 27 Ağustos 2014 15:13 tarihinde Coskun Gunduz <[email protected]> yazdı:
>
> Merhaba,
>>
>> Eğer TEL;CELL şablonunun yeri, BEGIN - END aralığında sabitse
>>
>> cat Dosya.vcf | grep -B4 -A1 "TEL;CELL"
>>
>> komutu ile isteiğiniz çıktıyı üretebilirsiniz.
>>
>> Hikmet Coskun Gunduz...
>>
>
> Merhaba,
>
> Bana bloğun tamamı lazım ve bloğun boyunun sabit olduğunu zannetmiyorum.
> Kimi blokta fazla, kimisinde eksik bilgi olabilir. Bana telefon numarası
> içerenleri lazım ve yazdığım scriptin bunu sağlamaya çok yakın olduğunu
> düşünüyorum.
>
> --
> *Görünenler*, *gerçek olsaydı bilime* gerek kalmazdı.
>
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
>
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap