Herkes arama / dizeleri biraz bellek tasarruflu bir şekilde "ikili" için satır tabanlı olmayan bir araç biliyor mu? Bu soruya da bakın .
Ben bunun gibi görünüyor benzer işlemek istiyorum bir + 2GB metin dosyası var:
sed -e 's/>\n/>/g'
Bu, a'dan sonra meydana gelen >ancak başka bir yerde olmayan tüm yeni satırları kaldırmak istediğim için , bu da dışarıda tr -d.
Bu komut ( benzer bir sorunun cevabından aldım ) ile başarısız olur couldn't re-allocate memory:
sed --unbuffered ':a;N;$!ba;s/>\n/>/g'
Peki, C'ye başvurmadan başka yöntemler var mı? Perl'den nefret ediyorum, ama bu durumda bir istisna yapmaya hazırım :-)
Veride oluşmayan herhangi bir karakterden emin değilim, bu yüzden geçici \nolarak başka bir karakterle değiştirmek mümkünse kaçınmak istediğim bir şey.
İyi fikirleriniz var mı?
--unbufferedBellek ile veya bellek
$!?
$!. Ben bekliyoruz Bu gerekecektir ÇOK bellek.
sedBu durumda uygun bir araç olmadığını düşünüyorum .
--unbufferedmi?