2013-10-08 3 views
1

Я хотел бы разделить файл и grep каждый кусок, не записывая их в отдельные файлы.Разделить файлы linux, а затем grep

Я попытался сделать пару вариантов раскола и grep и нет такой удачи; какие-либо предложения?

Что-то вдоль линий: split -b SIZE имя файла | grep "string"

Я пытался grep/fgrep найти строку, но моя оболочка жалуется, что файлы слишком большие. См.: use fgrep instead

+0

Я думаю, вам нужно объяснить вашу проблему немного больше. Почему вы не можете разделить файлы и почему вам нужно найти шаблон в каждой части. Пример ввода/вывода всегда хорош. Пожалуйста, обновите свой вопрос. –

+0

В этой ошибке вы четко указываете, что некоторая строка в вашем файле слишком длинная, а не сам файл. – Kevin

+0

полностью неверно понял, что>.>; все еще какие-то предложения? fgrep дает ту же ошибку – crownedzero

ответ

1

Нет смысла разбивать файл, если вы планируете [линейно] искать каждую фигуру в любом случае (предполагая, что это единственное, что вы делаете с ней). Рассмотрите возможность запуска grep на весь файл.

Однако, если вы планируете использовать тот факт, что файл разбит позже, то типичный путь будет:

  • Создайте временный каталог и шаг в него
  • Run split/csplit на оригинальный файл
  • Используйте for цикл над написанным фрагментом, чтобы сделать вашу обработку.
+0

grep/fgrep приводит к тому, что «линии ввода усечены - результат сомнительный» – crownedzero

+0

Это, вероятно, означает, что ваши строки слишком длинны. Что такое ОС (я считаю, что GNU grep может обрабатывать длинные строки)? –

Смежные вопросы