Kullanmakta olduğum, konsolda oturum açan bir komut satırı programım var. Ancak, bazı buggy firmware yapmak, her 1 saniyede belirli bir hata yazdırır.grep kullanarak filtre komutu çıkışı
Çıkışı filtrelemek için grep
'u nasıl kullanabilirim, böylece bu belirli bir hata satırı konsolda oturum açılsın mı?
Ben kurtulmak istediğiniz tam hatadır:
[1] [NTC] [NET] netcam_read_html_jpeg: Potential split boundary - 1447 chars flushed, 1 re-positioned
ben şöyle, içinde kusurlu hattı ile bir sh
komut dosyası oluşturursanız: o zaman
#!/bin/sh
echo "[1] [NTC] [NET] netcam_read_html_jpeg: Potential split boundary - 1447 chars flushed, 1 re-positioned"
echo "testing"
Ve çalıştırın, beklendiği gibi ben t grep -v
kullanarak çalıştırırsanız çıktı, şimdi,
[1] [NTC] [NET] netcam_read_html_jpeg: Potential split boundary - 1447 chars flushed, 1 re-positioned
testing
olduğunu ry şöyle, bu satırı atlamak:
./script.sh | grep -v "[1] [NTC] [NET] netcam_read_html_jpeg: Potential split boundary - 1447 chars flushed, 1 re-positioned"
çıkışı hala: Aynı senaryoyu çalıştırırsanız
[1] [NTC] [NET] netcam_read_html_jpeg: Potential split boundary - 1447 chars flushed, 1 re-positioned
testing
Ancak, çalışırken bu kez testing
içeren çizgi kurtulmak için Bunu şöyle:
./script.sh | grep -v "testing"
Sonra çıkışı, beklendiği gibi:
[1] [NTC] [NET] netcam_read_html_jpeg: Potential split boundary - 1447 chars flushed, 1 re-positioned
Şimdi burada sorun nedir ?? Açıkçası, ikinci örnekte çalıştığı için doğru komutu kullanıyorum. İstediğim gerçek çizgiyi atlamak için işe yaramıyor!
Neyi eksik?
https://stackoverflow.com/help/how-to-ask okuyunuz. Ayrıca, kendi başına yaptığınız girişimleri lütfen gösteriniz. Sormadan önce bazı girişimlerde bulunmanız bekleniyor. –
@EtanReisner - Güncelleştirilmiş soru –
Köşeli parantezler düzenli ifade meta karakterleridir. Bir karakter sınıfı demek istiyorlar. Normal karakterlerle eşleşmiyorlar. Onlardan ('\\ 'ile) kurtulmanız ya da grep'i sabit kalıpları kullanması gerektiğini söylemeniz gerekir (' fgrep' veya 'f' bayrağı' grep' ile). –