Я пытаюсь получить слова из файла:
$ grep -o '\*\*[^*]*\*\*' Principles_20_LifePrinciples.md | grep -v -e "Origin" -e "Etymology"
**circumstance**
**case**
**condition**
**Anxiety**
**anxiety**
**the state of feeling nervous or worried that sth bad is going to happen**
**a worry or fear about sth**
**a strong feeling of wanting to do sth or of wanting sth to happen**
Я хочу получить только слова:
**circumstance**
**case**
**condition**
**Anxiety**
**anxiety**
Реорганизованный код с указанными квантификаторами {, 20}
:
$ grep -E -o '\*\*[^*]{,20}\*\*' Principles_20_LifePrinciples.md
К сожалению , он ничего не возвращает.
Как решить такую проблему?
Отметьте тот GNU grep поддержки \w
для символов соответствующего слова (алфавиты, цифры и подчеркивание), таким образом, Вы могли легко соответствовать только словесным символам в части между звездочками:
grep -o '\*\*\w*\*\*'
Вы почти там с Вашим первым grep
команда.
Если только необходимо соответствовать строке, которые имеют отдельное слово, включают пространство [^...]
regex:
$ grep -o '\*\*[^* ]*\*\*' file
**circumstance**
**case**
**condition**
**Anxiety**
**anxiety**