dosyalarında ne kadar satır var ne kadar dosyan var bilmiyorum ama ufak bir kod yazdım ve test ettim tek sorun anlayamadığım bir bug sanırım.. eğer ayıklanacak dosyanın başındaki değer 1 ise okumaya 2 den devam ediyor buda sanırım 6.21 bugu her neyse kod çalışıyor şöyle bir testte bulundum..
dosyanın içinde olan veriler;
x
1
2
3
4
5
6
7
8
9
10
11
12
45
78
x
y
99
12
silinenleri gösteriyor, extradan var olanlarıda kırmızı olarak belirtmiştim.
exist string : x deleted 16 line
exist string : 12 deleted 19 line
Kod: Kodu kopyalamak için üzerine çift tıklayın!
alias ayıkla {
unset %x
if (!$1) { echo 4 -a Komut Kullanımı: /ayıkla ayıklanacak-dosya.txt }
if (!$hget(filter)) { hmake filter }
var %x = 1,%a.file = $shortfn(%a.file)
while (%x <= $lines($1)) {
var %st = $read(%a.file,%x),%r = $rand(111111111,99999999)
if ($hget(filter,%st)) { write $+(-l,$readn) %a.file | echo -s exist string : %st deleted $readn line }
hadd filter %st %r
inc %x 1
}
hfree -w filter
}
eğer sorun falan olursa buradan belirtirsin.