2012-09-17 16 views
8

Çok fazla hatalı/yazılmamış İngilizce sözcük içeren büyük bir metin dosyam var. Linux'ta bir komut satırı yazım denetleyicisi kullanarak bu dosyayı düzenlemenin bir yolunu arıyorum. Bunu yapmanın bazı yollarını buldum, Ama aramalarıma göre hepsi etkileşimli bir şekilde çalışıyorlar. Yani, bir hanımefendi/kötü heceli bir kelime görerek, kullanıcı için bazı düzeltmeler önerir ve onlardan birini seçmelidir. Dosyam oldukça büyük ve birçok yanlış kelime içerdiğinden, bu şekilde düzenleyemiyorum. İlk adayı kullanarak tüm yanlış kelimeleri değiştiren yazım denetleyicisine söylemenin bir yolunu arıyorum. Bunu yapmanın bir yolu var mı? (a/hun) büyüsünün bunu yapmak için herhangi bir seçeneği var mı?Komut satırını kullanarak, etkileşimli olmayan bir dosyayı kontrol etme hecelemesi

Saygılarımızla. Her yanlış kelime yerine ihtiyacınız ama sadece etkileşimli olmayan bir biçimde hataları ve baskı önerileri işaret yoksa

+0

GNU emacs Bir kerede tüm yanlış yazılmış olaylar. –

+0

Dosyayı emacs içinde açmak zorundayım? – Hakim

+0

Evet, ama sadece bir kez. –

cevap

5

, sen ispell kullanabilirsiniz:

$ ispell -a < file.txt | grep ^\& > errors.txt 

Ben maalesef değilim Yukarıdaki yorumlardaki emacs önerisi yaklaşıyor olsa da, komut satırından istediklerinizi yapan herhangi bir standart Linux yardımcı programından haberdar olun.

5

Aşağıdakiler gibi komutlarla deneme yapabilirsiniz:

yes 0 | script -c 'ispell text.txt' /dev/null 

ya:

yes 1 | script -c 'aspell check text.txt' /dev/null 

Fakat sonuçlar bile basit şeyler için kötü olabilir unutmayın:

$ echo The quik broown fox jmps over the laazy dogg > text.txt 
$ yes 0 | script -c 'ispell text.txt' /dev/null 
Script started, file is /dev/null 
Script done, file is /dev/null 
$ cat text.txt 
The quick brown fox amps over the lazy dog 

Aspell ile daha da kötü görünüyor, muhtemelen ispell ile gitmek daha iyidir.

script komutuna ihtiyacınız vardır, çünkü ispell gibi bazı komutlar komut dosyası oluşturmak istemez. Normalde bir komuta yes 0 çıktısı "0" tuşunu sürekli taciz simüle etmek ancak bazı komutlar metne ediliyor tespit ettiğimiz ve çöp boru işbirliği yapmak istiyoruz: Neyse onlar script komutuyla aptal olabilir

$ yes 0 | ispell text.txt 
Can't deal with non-interactive use yet. 

:

$ yes 0 | script -c 'ispell text.txt' /dev/null 
Script started, file is /dev/null 
Script done, file is /dev/null 

da çıkış günlüğe/dev/null dışındaki dosyasını kullanabilirsiniz:

$ yes 0 | script -c 'ispell text.txt' out.txt 
Script started, file is out.txt 
Script done, file is out.txt 
$ cat out.txt 
Script started on Tue 02 Feb 2016 09:58:09 PM CET 

Script done on Tue 02 Feb 2016 09:58:09 PM CET 
modunu kontrol sen yenilenmesi söz beri tasarıyı uygun görünüyor büyü
İlgili konular