2009/12/29 "Aydın ÜSTÜN" <[email protected]>:
> Haklisiniz tam anlatamadim galiba.
>
> Dosyadaki her satir sabit genislikteki alanlara ayrilmis durumda. Ornegin:
> field 1 | field 2 | field 3 | field 4 | field 5 |
> 1-15    | 16-23   | 24-44   |  45-60  |  61-80  |
>
> greple arama isleminin tum satirda degilde sadece 45-60. karakter sutunlari
> arasindaki alanda yapilmasini istiyorum. Ornegin
> grep "1234" dosya
> dedigimde diger alanlarda "1234" u iceren satirlari da veriyor.
>
> Tesekkurler,
> Aydin
>
>
Yok anlatmisiniz ve cevabi da almissiniz. Yanliz siz cikti olarak tum
satiri istiyorsunuz herhalde. O yuzden cut isinize yaramadi.Cut in man
sayfasinda --complement diye bir switch de varmis. Ama sizin isinizin
tam olarak ne oldugunu bilmedigim icin sadece dile getirmekle
yetiniyorum. Delimiter var mi onu da soylememissiniz.Delimiter varsa
isler daha kolay.
Bu istediginizi yapmanin bir cok yolu vardir eminim.Awkla yapilan bir yolu su:
awk '{ if( substr($0,45,15)~ /regex/ ) print $0 }'  dosya
Tum satiri yazdirmak istediginizi kabul ettim.
45+15=60 oldugunu yazmaya gerek yok.
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap