2014-11-30 2 views
0

Я хочу grep -v файл кроме рисунка.grep -v кроме рисунка

это мое содержимое файла (test.txt):

a 
aaa 
bbb 
ccc 

Я хочу к этому результату:

aaa 
bbb 
ccc 

И cat test.txt |grep -v "a" --exclude="aaa" не работать правильно и вернуть этот:

bbb 
ccc 

ответ

2

Вы должны использовать границу \b слово, которое соответствует между характером слова и без слов характер.

$ grep -v '\ba\b' file 
aaa 
bbb 
ccc 

ИЛИ

$ grep -v '^a$' file 
aaa 
bbb 
ccc 

^ Утверждает, что мы в начале линии и $ утверждает, что мы в конце строки.

+0

если мое содержимое файла: воск ааа ГЭБ ссс как получить результат? –

+0

не могли бы вы более подробно объяснить свой вопрос о том, почему вы хотите совместить эти строки? –

+1

Вы имели в виду это 'grep -v 'a [^ a]' file'? –

1
$ grep -w -v "a" test.txt 
aaa 
bbb 
ccc 

От страницы человека

-w, --word-regexp 
      Select only those lines containing matches that form whole 
      words. 
+0

если мое содержимое файла: воска ааа ГЭБ ссса как получить результат? –

+0

'grep -w -v" воск "test.txt' ?? – nu11p01n73R

+0

№. «воск» меняется. например, содержимое файла: воска ааа саса ГЭБА ссса –