GERÇEKTEN BÜYÜK ayrılmış bir metin dosyasını UNIX / VMS’de sıralama


2

Bir sıralamak için gidiyorum GERÇEKTEN BÜYÜK sınırlandırılmış metin dosyası , 250MB (veya 250Mb daha fazla veya daha az sayıda dosya) derler. 37 alana sahip ve bunu 5 alana göre sıralamam gerekiyor, örneğin 1., 4., 5., 6. 7. alanlar. Unix / VMS altında, bu HIZLI yapmak için iyi bir seçeneğim var mı? COBOL programını yazabilirim.
Şimdi onları aşağıdaki komutu kullanarak sıralamaya çalışıyorum, ama zaten çok uzun zamandır çalışıyor ve bitmeyecek.

Teşekkür ederim.

Kullandığım komut: time sort -t ',' -o sort.txt +0 -1 +4 -5 +5 -6 +6 -7 +22 -23 * .DAT_gprscdr_ftpd


2
Bu soruyu stackoverflow.com adresinde sorun
Amir Rezaei

1
Bu SO sorusuna bakın stackoverflow.com/questions/930044/… oradaki betiği kullanabilirsiniz.
KeesDijk

1
Sağladığınız kabuk komut dosyasında yanlış olan ne? Unix tür olduğunu hızlı.
S.Lott,

Yanıtlar:


3

Belki de bu soru gerçekten başka bir SE-sitesinde olmalı, ama işte bu konuyu benim.

1) Sorunuzda sağladığınız temel tür yeterince hızlı değil mi? Ne kadar hızlı olmalı? 2 yaşındaki masaüstüm, 21 saniyede 270 MB Apache erişim günlüğü dosyalarını sıralıyor.

2) Eğer yeterince hızlı değilse, önce her dosyayı ayrı ayrı sıralamayı deneyebilir ve daha sonra "sort -m" ile birleştirebilirsiniz.

3) Yeterince hızlı değilse ve birden fazla CPU / çekirdeğiniz varsa, GNU Parallel ile işlemi paralelleştirin (sp?)

4) Hala yeterince hızlı değilse ve daha fazla makineniz varsa, GNU Parallel ile çok telli makinelerde sıralama işlemini paralelleştirin


0

Verileri MySQL veritabanına (LOAD komutu) yükleyebilir ve ne istersen yapabilirsin

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.