Selam, alt alta verilerin sıralı olduğu bir metin belgesindeki çift olan verilerden birini silerek filitreleme işlemi için aşağıdaki gibi bir modül yazdım ama çok ağır çalışıyor. Daha faydalı önerilerinizi bekliyorum.
Örneğin aşağıdaki örnekte alt alta sıralı numaralar var. bu numaralardan 12'den iki adet var birini silmem gerekiyor.
12
45
78
12
Yaklaşık 15.000 satırlık metin belgeleri üzerinde işlem yapıyorum. bunları 1000'er satırlık metin belgelerine paylaştırdım ama yine 10 dakika sürüyor. Benim geliştirdiğim modül şu şekilde, ama çok yavaş:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
alias d.detect {
var %i = 1, %file = $+(",$sfile(*.txt,Dosyayı seçin...,Başla),")
var %o.file = $replace(%file,$remove($gettok(%file,-1,92),.txt"),$+($remove($gettok(%file,-1,92),.txt"),-ok))
while $read(%file,%i) {
if ($cwnum(%o.file,$read(%file,%i)) == ok) write %o.file $read(%file,%i)
inc %i
}
}
alias cwnum {
var %i = 1, %n = $gettok($1-,-1,32), %file = $remove($gettok($1-,1-,32),$gettok($1-,-1,32))
if (!$exists(%file)) write %file ::begin::
while $read(%file,%i) {
if (%n == $read(%file,%i)) var %x = false
inc %i
}
if (!%x) return ok
}