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 \n
olarak başka bir karakterle değiştirmek mümkünse kaçınmak istediğim bir şey.
İyi fikirleriniz var mı?
--unbuffered
Bellek ile veya bellek
$!
?
$!
. Ben bekliyoruz Bu gerekecektir ÇOK bellek.
sed
Bu durumda uygun bir araç olmadığını düşünüyorum .
--unbuffered
mi?