"grep: Zeile zu lang" Fehlermeldung

7

Ich habe die folgende Syntax verwendet, um die IP-Adresse unter /etc

zu finden

(beantwortet von Dennis Williamson in Superuser-Site)

aber ich bekomme die Nachricht "grep: line too long".

Jemand hat eine Idee, wie man diese Nachricht ignoriert und warum ich das bekomme?

%Vor%     
lidia 07.09.2010, 09:01
quelle

3 Antworten

20

Die Lösung find / xargs funktionierte bei mir nicht, führte aber zu demselben Fehler.

Ich habe dieses Problem gelöst, indem ich die Option -I grep (binäre Dateien ignorieren) verwendet habe. In meinem Fall muss eine Binärdatei in der Liste der zu durchsuchenden Dateien enthalten sein, die keine Zeilenumbrüche enthielt. Daher versucht grep, eine riesige Zeile einzulesen, die zu groß ist. Das ist meine Vermutung, was dieser Fehler bedeutet.

Ich habe die Idee von: Ссылка

Das funktioniert natürlich nicht für Sie, wenn es eine Textdatei mit einer zu langen Zeile gibt.

    
Shorin 25.07.2011 13:21
quelle
5

Verwenden Sie find, um eine Liste von Dateien nach grep zu erstellen,

%Vor%

Im Allgemeinen ist find eine flexiblere Möglichkeit, das Dateisystem zu durchlaufen und Listen von Dateien für andere Programme zu erstellen.

    
jmtd 07.09.2010 09:07
quelle
0

Vielleicht hat Ihr Grep einen Fehler und scannt zufällig eine Binärdatei mit zu langen Zeilen (d. h. zu viele Zeichen, damit Grep zwischen zwei Zeilenumbrüchen umgehen kann). Siehe Red Hat-Seite für weitere Details ( Fehlerseite ).

    
maxschlepzig 07.09.2010 09:16
quelle

Tags und Links