FINDSTR: слишком длинная строка

2597
tjt263

FINDSTRКоманда Windows полезна для просеивания больших объемов данных; он отфильтровывает строки текста, которые не содержат указанный шаблон или строку (например, GNU / BSD grep).

Но он отказывается выводить строки больше определенной длины. Есть ли (нативная) альтернатива, исправление или обходной путь?

2
https://www.interact-sw.co.uk/iangblog/2006/06/03/pshfindstr Harry 7 лет назад 0

1 ответ на вопрос

0
Gerold Broser

FINDSTR SS64 - побеги и ограничения длины говорит:

Пределы длины линии

Файлы, указанные в качестве аргумента командной строки или с помощью /F:FILEпараметра, не имеют известного ограничения длины строки. Поиск был успешно выполнен для файла размером 128 МБ, который не содержал ни одного <LF>.

Данные по каналам и перенаправленный ввод ограничены 8191 байтами на строку. Этот лимит является «особенностью» FINDSTR. Это не присуще трубам или перенаправлению. FINDSTR, использующий перенаправленный ввод stdin или piped, никогда не будет соответствовать ни одной строке размером> = 8 Кбайт. Строки> = 8k генерируют сообщение об ошибке для stderr, но значение ERRORLEVEL по-прежнему равно 0, если строка поиска найдена хотя бы в одной строке хотя бы одного файла.

Кредиты:
Дейв Бенхэм - Список недокументированных функций и ограничений FINDSTR от StackOverflow