2010-09-07 37 views
7

tôi đã sử dụng cú pháp sau để tìm địa chỉ IP dưới /etc"grep: dòng quá dài" thông báo lỗi

(trả lời bởi Dennis Williamson vào trang web superuser)

nhưng tôi nhận được thông báo "grep: dòng quá dài ".

Ai đó có ý tưởng cách bỏ qua thông báo này và tại sao tôi nhận được thông báo này?

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

Trả lời

5

Sử dụng tìm để xây dựng một danh sách các tập tin để grep,

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

Trong find chung là một cách linh hoạt hơn đi qua các danh mục hệ thống tập tin và xây dựng các tập tin cho các chương trình khác.

+1

Thông báo lỗi không đến từ trình bao, nghĩa là nó không phải là vấn đề của danh sách đối số, quá dài. – maxschlepzig

+0

Có, và tìm/xargs thường được sử dụng để giải quyết vấn đề * đó *. Đây không phải là vấn đề, nhưng việc sử dụng find/xargs vẫn giải quyết được nó. – jmtd

+0

@jmtd Hoạt động đẹp, +1. – Hazok

20

Giải pháp tìm/xargs không hoạt động đối với tôi, nhưng dẫn đến lỗi tương tự.

Tôi đã giải quyết vấn đề này bằng cách sử dụng tùy chọn g2 -I grep (bỏ qua tệp nhị phân). Trong trường hợp của tôi, phải có một tệp nhị phân trong danh sách tệp để tìm kiếm không có dấu ngắt dòng, do đó grep cố gắng đọc theo một dòng khổng lồ quá lớn. Đó là dự đoán của tôi về lỗi này.

tôi đã có ý tưởng từ: http://web.archiveorange.com/archive/v/am8x7wI0r0243prrmYd4

này có thể không làm việc cho bạn tất nhiên nếu có một tập tin văn bản với một dòng đó là quá dài.

+0

Chỉ cần làm rõ cho người khác, tùy chọn là vốn I ("-I") như ở Ấn Độ, không phải là "l" như trong lima. – riderchap

+0

@riderchap Vui vì tôi đã đọc nhận xét của bạn. Tôi sẽ thử với cap-I sau. Từ câu trả lời cho câu trả lời này từ Shorin và câu trả lời của jmtd, có vẻ như có hai vấn đề. Một vấn đề trong đó danh sách tệp quá dài, thì vấn đề là dòng thực trong tệp quá dài. Trong trường hợp của tôi, đó là danh sách các tập tin và tùy chọn jmtd là tốt nhất. Đối với trường hợp dòng trong một tệp quá dài, có vẻ như tùy chọn của Shorin sẽ là tốt nhất, nhưng tôi không có một trường hợp nào để thử nó. Nó cũng có thể là bỏ qua các tập tin nhị phân đã giảm Shorin dưới ngưỡng cho số lượng tối đa trong danh sách các tập tin. – Hazok

+1

Ah! Cảm ơn. Tôi làm cho nó trông giống như một người Ấn Độ thay vì Lima. – Shorin

Các vấn đề liên quan