Команда поиска Unix - PullRequest
       2

Команда поиска Unix

0 голосов
/ 20 февраля 2012

Мне нужна команда поиска Unix, которая используется для поиска определенного слова в строке, и эта строка не должна содержать конкретного слова.

For eg,

Line 1: Java is my World.
Line 2: Java is OOPs language.

Мне нужна команда Unix, которая возвращает строки, содержащие «Java» not »Мир "в этой строке.

Expected Output:

Java is OOPs language.

Спасибо, Шринивасан Р.

Ответы [ 3 ]

1 голос
/ 20 февраля 2012

Сначала перечислите все файлы, в которых есть слово «Java», а затем обратно соответствуют «World», то есть выберите те строки, в которых «World» НЕ содержится:

cat file | grep 'Java' | grep --invert-match 'World'
1 голос
/ 18 января 2016

Команда для определенного слова

grep -R dirname

grep -R dirname> имя файла (для добавления вывода)

, чтобы найти определенное слово в строке, а такжепоиск имени файла, где это слово присутствует.

1 голос
/ 20 февраля 2012

Используйте grep:

cat <File> | grep 'Java' | grep -v 'World'

Параметр -v инвертирует выбор (т. Е. Строки, не содержащие шаблон)

Вы также можете сделать это с помощью awk и задать оба условия вместе:

cat <File> | awk '/Java/ && !/World/'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...