Ваш набор опций немного странный, когда вы жалуетесь на слишком много информации. Вы хотите, чтобы одна строка после и до вашего матча отображалась ( -A1и -B1соответственно), но это слишком много? Где именно вы хотите, чтобы ваш вывод был обрезан?
Андреас Визе
1
Можете ли вы привести пример входных данных и ожидаемых результатов?
Рамеш
Я изменил команду, я тестирую в Ubuntu 13.10, дайте мне знать, если она работает для вас. У меня есть опция grep и опция egrep
Кроме того, -P использует Perl Regex, который на страницах руководства говорит, что он экспериментальный, если вы хотите избежать этого флага, вы можете просто использовать вместо него egrep:
Остальная часть файла на самом деле очень полезна, это часть многострочного комментария в середине Схемы, которую нужно было исключить, не нарушая наш парсер, это была просто хорошая строка, чтобы попробовать это.
Эрик
Так как это один из моих файлов, он установлен на 755, но я вижу, что cat не может быть идеальным для HTML-файла, вы можете попробовать передать имя файла в grep в качестве параметра, см. Мое редактирование.
Эрик
Под 777 файлами я подразумеваю, что у вас есть 777 копий разных файлов, а не чоун. Я запускаю $$$ egrep -o '. {0,20} псевдомонады. {0,20}' * $$$. Команда остается там бесконечность и ничего не делает. Это, опять же, похоже, работает $$$ egrep -ori '. {0,20} pseudomonas. {0,20}' * $$$. То же самое с рекурсией и регистром. Тем не менее, это очень медленно. Я думаю, что это не должно быть так медленно. Grep был значительно быстрее.
Лео Леопольд Герц 준영
если catting не работает, вы всегда можете просто поместить его в файл, добавив > results.txtв конец команды, но он не скажет вам, в каком файле вы его нашли.
-A1
и-B1
соответственно), но это слишком много? Где именно вы хотите, чтобы ваш вывод был обрезан?Ответы:
Это должно сделать это для вас
Обновить:
Если вы не хотите cat, вы можете просто использовать grep с файлом в качестве параметра:
Кроме того, -P использует Perl Regex, который на страницах руководства говорит, что он экспериментальный, если вы хотите избежать этого флага, вы можете просто использовать вместо него egrep:
источник
> results.txt
в конец команды, но он не скажет вам, в каком файле вы его нашли.Предполагается, что совпадения и их контекст не перекрываются, а имена файлов не содержат
pseudomonas
.Также обратите внимание, что сообщаемые номера строк соответствуют номерам начала контекста.
источник