2015-10-07 2 views
0

Я хочу сделать что-н, как:Как я вычленить информацию строки за исключением некоторой другой строки

grep -A 10 'myString' && NOT 'anotherString' 

Если мне не нужно -A 10 я знаю, что я мог трубные и использовать отбирает -v, но это не будет работать как в этом случае. Поэтому я бы сделал так:

grep "myString" | grep -v "anotherString" 

Любые идеи?

ответ

2

Попробуйте инвертировать и поместить grep с аргументом -A 10 в конце. Пример:

grep -v 'anotherString' | grep -A 10 'myString' 
0

Только поддерживаемые POSIX опции для grep являются -EFcefilnqsvx, поэтому имейте в виду, что опция -A может отсутствовать во всех реализациях grep. И даже в GNU grep нет возможности указать «совпадение ИЛИ совпадение» и не существует регулярного выражения, которое может эмулировать это, поскольку все, что он может сделать, это предоставить дополнительные совпадения, но не может их удержать. По сути, единственный способ сделать это с помощью только grep - использовать трубу.

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