2010-09-07 17 views
7

użyłem następującej składni, aby znaleźć adres IP pod /etc„grep: Linia zbyt długo” komunikat o błędzie

(odpowiedział Dennis Williamson w miejscu superużytkownika)

ale pojawia się komunikat „grep: linia zbyt długa ".

Ktoś wie, jak zignorować tę wiadomość i dlaczego ją otrzymuję?

grep -Er '\<([0-9]{1,3}\.){3}[0-9]{1,3}\>' /etc/ 
    grep: line too long 

Odpowiedz

5

Wykorzystanie znaleźć zbudować listę plików do grep,

find /etc -type f -print0 | xargs -r0 grep -E '\<([0-9]{1,3}\.){3}[0-9]{1,3}\>' 

W ogólnym znaleziskiem jest bardziej elastyczny sposób przechodzenie systemu plików i budowanie listy plików do innych programów.

+1

Komunikat o błędzie nie pochodzi z powłoki, tzn. Nie jest problemem z listą argumentów, która jest zbyt długa. – maxschlepzig

+0

Tak, a find/xargs są często używane do rozwiązania * tego * problemu. To nie jest taki problem, ale użycie find/xargs rozwiązuje go. – jmtd

+0

@jmtd Działa pięknie, +1. – Hazok

20

Rozwiązanie find/xargs nie zadziałało, ale spowodowało ten sam błąd.

Rozwiązałem ten problem, używając opcji grep (-I) (ignoruj ​​pliki binarne). W moim przypadku musiał być plik binarny na liście plików do przeszukiwania, które nie zawierały linebreaków, więc grep próbuje przeczytać w gigantycznej linii, która jest zbyt duża. Zgaduję, co oznacza ten błąd.

mam pojęcia od: http://web.archiveorange.com/archive/v/am8x7wI0r0243prrmYd4

to może nie działać dla ciebie oczywiście jeśli jest to plik tekstowy z linii, która jest zbyt długa.

+0

Dla jasności dla innych opcja ta to kapitał I ("-I") jak w Indiach, a nie "l" jak w limie. – riderchap

+0

@riderchap Cieszę się, że przeczytałem twój komentarz. Spróbuję z czapką - ja później. Z odpowiedzi na tę z Shorin i odpowiedzi jmtd wynika, że ​​są dwie kwestie. Jeden problem, gdy lista plików jest zbyt długa, a następnie problem był faktyczny wiersz w pliku jest zbyt długi. W moim przypadku była to lista plików i opcja jmtd jest najlepsza. W przypadku, gdy wiersz w pliku jest zbyt długi, wydaje się, że opcja Shorina byłaby najlepsza, ale nie mam przypadku, aby go wypróbować. Możliwe też, że ignorowanie plików binarnych spowodowało spadek Shorin poniżej progu maksymalnej liczby na liście plików. – Hazok

+1

Ah! Dzięki. Sprawiłem, że wygląda jak Indie zamiast Limy. – Shorin

Powiązane problemy