У меня есть такой текст в моем файле с именем mytext.txt:
educação
bola
sapo
conseqüência
lógica
olho
Если я применяю с терминала оболочки эту команду регулярного выражения: grep -oE '(?:[\s]|^)(sapo|bola|olho)(?=[\s]|$)' mytext.txt > output.txt
, тогда мой output.txt будет
sapo
bola
olho
, но если мой mytext.txt содержит '
или *
, например:
sapo
bola
'*olho
, то мой файл output.txt будет
sapo
bola
Из этоговопрос Получить определенное слово перед специальным символом, используя регулярные выражения и https://stackoverflow.com/a/5378986/10824251 Я пытался построить это выражение, но безрезультатно grep -oE '(?:[[:space:]]|^)(olho)(?:[^\w]|$)' mytext.txt > output.txt
, и я также использовал grep -o '^.*#olho[^\w].*$' mytext.txt > output.txt
из https://stackoverflow.com/a/5378761/10824251,просто попытаться хотя бы извлечь слово «олхо». Как я могу избежать символов '
и *
?