46 MB metin dosyasındaki tüm beyaz boşlukları virgüllerle değiştirme


3

Tüm beyaz boşlukları virgüllerle değiştirmek ne kadar sürer?


Muhtemelen ayrıca belgenizdeki boşluk sayısına da bağlı olacaktır. "Normal metin belgesi" mi, yoksa bir tür "veri belgesi" mi? Yaygın olmayan ihtiyaç nedeniyle ikinci olduğuna inanma eğilimindeyim.
LudoMC

@LudoMC evet exatly, beyaz alanlarda bol (her bir kelime biri tarafından takip edilir ve dosya ben istihbarat ikilisi çift çekirdekli çıkıyorum ve hala 20 dakika sonra çalıştığı, 46MB olduğunu.
aneuryzm

Yanıtlar:


10

TextMate bu gibi büyük dosyalarda bazen çok yavaş olabilir.

Sed gibi bir komut satırı yardımcı programı kullanmanızı öneririm.

sed 's/ /,/g' orig.txt > modified.txt

Son derece hızlı bir şekilde ihtiyacınız olanı yapacağız. Belli ki isimleri gerçek isimlerle değiştir.


komut satırı için teşekkürler, ama işe yaramadı. Boşluğun beyaz boşlukları değiştirdiğinden emin misiniz? Ne elde edeceğim tam olarak aynı olan bir dosya
aneuryzm


Cevabı değiştirdim. İlk iki / eğik çizgi arasına bir boşluk koyun. Nasıl sonuçlandığını bana bildir.
robzolkos

4

Bu sed çözümünden daha hızlı olmalı:

tr ' ' , < orig.txt > modified.txt

Ama elbette, bunu çok fazla bir şey yapmanız gerekmediği sürece, hızlanma pek önemli değil.
Harald Hanche-Olsen

Güzel. Tr düşünmedim. Sadece bir deney yaptım. sed, 0.002 saniye sürdü ve aynı kaynak dosyada tr, 0.333 saniye sürdü. Her iki çözüm de TextMate kullanarak önemli ölçüde başarılı olacaktı;)
robzolkos

3
Textmate muhtemelen posta ile size sonuçları gönderirdim ...;)
Martin Marconcini

@RobZolkos: Anlamlı bir ölçüm elde etmek için daha büyük bir kaynak dosya denemek isteyebilirsiniz. 236 MB'lık bir dosyada, tr makinemde işin tamamlanması için 30 saniyeye ihtiyaç duyurken, 12 saniye sürüyor. Her zamanki UTF-8 yerel ayarımdan bir C yerel ayarına geçersem, zamanlar sırasıyla 10 ve 15 saniyeye düşer.
Harald Hanche-Olsen

Evet, @Harald - iyi nokta. Nispeten küçük bir dosya üzerinde test yapıyordum;)
robzolkos
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.