[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Fwd: Re: çift kayıtları bulma]



Sanırım bu e-posta gitmedi, yada bana geri gelmedi. Ekte tekrar
gönderiyorum.
--- Begin Message ---
Sal, 2006-07-04 tarihinde 18:53 +0300 saatinde, Recai Oktaş yazdı:
> * Zeki Çatav [2006-07-04 10:32:05+0300]
> > Sal, 2006-07-04 tarihinde 02:38 +0300 saatinde, Recai Oktaş yazdı:
> > > Zeki hocam, ekte hızlıca yazdığım bir perl betiği gönderiyorum.  CPAN'ı
> [...]
> > Bu betik çalıştı. Seçilen değişkene göre ayıklama işlemini başarıyla
> > yapabildi. Ancak birşey daha sormak istiyorum. Seçilen değişken bir
> 
> Ektekini deneyelim.  XBase modülünde bu işi daha zarif yapmanın bir yolu
> vardır belki, ama bildiğimiz taraftan gitmek daha kestirme geldi.  Yeni
> haliyle şöyle kullanacaksınız:
> 
>     # alan adları ve sütun noları görüntüler
>     ./dbf_uniq.pl foo.dbf
>     # 3-5 ve 9 sütunları ve FOO ile BAR arası kayıtları işler
>     ./dbf_uniq.pl foo.dbf 3-5 FOO-BAR 9
Merhaba,
Bu yöntem ile belli bir aralığı kontrol edip seçim yapamadım. Tek değişkene göre
seçim yaptı ama bu yöntemle dosya fazla kırpıldı. 1007 kayıt içeren bir dosyayı 
bu yöntemle "dosya numarası" değişkenine göre tarayınca 402 kayda
indirgedi. Oysa ilk önerdiğiniz (dünkü e-postanız) yöntemde aynı alana
göre tarama 758 kayda indiriyordu.
Aynı dosyayı .csv formatına çevirip Serdar Aytekin'in önerdiği yöntemle
"cat aaanv.csv | sort -t' ' | uniq -w10 > dene1.txt" işleyince 751 kayıt
ile sonuçlanıyor. -w10 sadece dosya numarası kadar karaktere karşılık
geliyor.
Ayrıca bugünkü perl betiği değişken adlarını karışık sıralıyor, dünkü
numarasız ama doğru sırayla dökmekteydi.

Son perl betiği çıktısı ------------------------------------
..................................................
Malformed UTF-8 character (byte 0xfe) at dbf_uniq2.pl line 54.
Malformed UTF-8 character (unexpected non-continuation byte 0x73,
immediately after start byte 0xfd) at dbf_uniq2.pl line 54.
Malformed UTF-8 character (unexpected non-continuation byte 0x7a,
immediately after start byte 0xfd) at dbf_uniq2.pl line 54.
== [INDEKS] ALAN_ADI ==
[59] DESTEK    [74] LBHT    [63] OPRITM    [95] CIKISTRH    [50]
ACIK3AAA    [85] VENTILAT    [76] YBRITM    [3] SOYAD    [94] YBCIKTRH
[87] YBKOMP2    [22] HT    [30] SISTEM2    [12] ISLM1TRH    [17] AO
[8] ILCE    [93] YBCIKTUR    [20] PAKET    [42] TANI2AAA    [33]
GRFOZELL    [68] KOMPTED2    [11] ILKISLM1    [86] YBKOMP1    [6] ADRES
[100] CIKACIK1    [67] KOMPTED1    [29] DURUM1    [23] OBEZ    [15]
ILKISLM3    [37] KAPAKNO    [18] SIGARA    [13] ILKISLM2    [16]
ISLM3TRH    [35] GRFBOY    [14] ISLM2TRH    [46] ISLEM2AA    [52] TRPERF
[4] YAS    [90] YBKOMPTE    [47] ISLEM3AA    [26] SEKEL    [102]
CIKACIK3    [24] LIPID    [73] YBLCO    [57] OPERTRH    [48] ACIK1AAA
[92] YBTDP    [34] GRFCAP    [79] MKDSURE1    [83] DREN1    [10] PKODU
[62] ASISTE    [101] CIKACIK2    [7] ADRES2    [25] EMBSSS    [55]
TRPSURE    [69] KOMPTED3    [54] RSPSURE    [60] INOTROP    [105]
PLKFORM    [40] ASPSURE    [106] YATISTRH    [56] TSASURE    [84] DREN2
[21] DM    [27] EMBPERFR    [32] GRFTCINS    [2] AD    [104] PLKTRH
[89] YBKOMP4    [58] AAANVRZM    [78] YBMKDST1    [38] REIMPLNT  [75]
YBCHF    [5] CINS    [49] ACIK2AAA    [103] CIKISTAR    [19] YIL    [39]
ASPERF    [81] MKDSURE2    [88] YBKOMP3    [99] CIKKOMP3    [41]
TANI1AAA    [28] SISTEM1    [70] OPEX    [31] DURUM2    [45] ISLEM1AA
[97] CIKKOMP1    [80] YBMKDST2    [77] YBISKEMI    [1] DN    [98]
CIKKOMP2    [91] YBKAN    [53] TSA    [96] CIKTURU    [61] IABP    [65]
OPKOMP2    [82] YBIDRAR    [36] KAPAKKOD    [51] RSPERF    [43] TANI3AAA
[72] YBGIRTRH    [71] OPEXNDEN    [66] OPKOMP3    [9] IL    [64] OPKOMP1
[44] TANI4AAA


İlk perl betiği çıktısı------------------------------------
........................................
Malformed UTF-8 character (byte 0xfe) at dbf_uniq.pl line 33.
Malformed UTF-8 character (unexpected non-continuation byte 0xfd,
immediately after start byte 0xf0) at dbf_uniq.pl line 33.Malformed
UTF-8 character (unexpected non-continuation byte 0x64, immediately
after start byte 0xfd) at dbf_uniq.pl line 33.Malformed UTF-8 character
(unexpected non-continuation byte 0x69, immediately after start byte
0xe7) at dbf_uniq.pl line 33.Aadaki alanlardan biri seilmeli:
DN AD SOYAD YAS CINS ADRES ADRES2 ILCE IL PKODU ILKISLM1 ISLM1TRH
ILKISLM2 ISLM2TRH ILKISLM3 ISLM3TRH AO SIGARA YIL PAKET DM HT OBEZ LIPID
EMBSSS SEKEL EMBPERFR SISTEM1 DURUM1 SISTEM2 DURUM2 GRFTCINS GRFOZELL
GRFCAP GRFBOY KAPAKKOD KAPAKNO REIMPLNT ASPERF ASPSURE TANI1AAA TANI2AAA
TANI3AAA TANI4AAA ISLEM1AA ISLEM2AA ISLEM3AA ACIK1AAA ACIK2AAA ACIK3AAA
RSPERF TRPERF TSA RSPSURE TRPSURE TSASURE OPERTRH AAANVRZM DESTEK
INOTROP IABP ASISTE OPRITM OPKOMP1 OPKOMP2 OPKOMP3 KOMPTED1 KOMPTED2
KOMPTED3 OPEX OPEXNDEN YBGIRTRH YBLCO LBHT YBCHF YBRITM YBISKEMI
YBMKDST1 MKDSURE1 YBMKDST2 MKDSURE2 YBIDRAR DREN1 DREN2 VENTILAT YBKOMP1
YBKOMP2 YBKOMP3 YBKOMP4 YBKOMPTE YBKAN YBTDP YBCIKTUR YBCIKTRH CIKISTRH
CIKTURU CIKKOMP1 CIKKOMP2 CIKKOMP3 CIKACIK1 CIKACIK2 CIKACIK3 CIKISTAR
PLKTRH PLKFORM YATISTRH

dbf formatında perl ile işlem yapmak ile csv formatında bash ile işlem
yapmak öneriniz nedir?

Teşekkürler.
İyi çalışmalar.
 
-- 
Zeki Çatav <zcatav@isnet.net.tr>
Türkiye Yüksek İhtisas Hastanesi

--- End Message ---

Reply to: