Использование grep для поиска всего слова с подстановочными знаками и исключениями - PullRequest
2 голосов
/ 30 марта 2020

У меня есть несколько случайных строк. Я пытаюсь напечатать только целые слова со следующими словами:

grep -ioh "\w*ice\w*"

Это работает нормально, но, похоже, не показывает символы, а только буквы. Я бы хотел, чтобы подстановочные знаки позволяли использовать любые символы, кроме пробелов. Это возможно?

Чтобы лучше объяснить, приведенный выше код в виде строки:

Кошка очень хорошая, показывает только "приятно", в то время как я хотел бы иметь "очень- хороший "

1 Ответ

2 голосов
/ 30 марта 2020

Вы можете использовать

grep -ioh "\S*ice\S*"

или

grep -ioh "[^[:space:]]*ice[^[:space:]]*"

. [^[:space:]] (или \S) соответствует любому символу, кроме символа пробела.

См. grep онлайн-демонстрация :

grep -ioh "\S*ice\S*" <<< "The cat is very-nice"
## => very-nice
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...