Как grep, исключая некоторые слова? - PullRequest
0 голосов
/ 21 ноября 2018

Я хотел бы использовать слово «сила», но большая часть перечисленных выходных данных получена командой -force.

Когда я сделал grep -v "-force" filename, он говорит grep: orce, скорее всего, из-за команды -f.

Я просто хочу найти сигнал force из файлов, используя grep.Как?

Ответы [ 4 ]

0 голосов
/ 21 ноября 2018

эта строка может быть проще:

grep '[^-]force' tmp

она гласит: grep "force", но только если она не имеет префикса - с помощью [^].Смотрите примеры простых регулярных выражений здесь .

0 голосов
/ 21 ноября 2018

Если вы хотите извлечь определенное слово из файла, тогда мы можем использовать команду cat

# cat filename.txt | grep force 

Для других основных Команд

0 голосов
/ 21 ноября 2018

Используйте [-], чтобы убрать особое значение.Проверьте это:

> cat rand_file.txt
1. list items of random text
2. -force
3. look similar as the first batch
4. force
5. some random text
> grep -v "-force" rand_file.txt  
grep: orce: No such file or directory
> grep -v "[-]force" rand_file.txt | grep force
4. force
> 
0 голосов
/ 21 ноября 2018

use grep -v -- "-force" - двойной - сигнализирует о том, что больше никаких вариантов не ожидается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...