Использовать указанный квантификатор в grep для получения удовлетворительного словаря [closed]

Я пытаюсь получить слова из файла:

$ 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

К сожалению , он ничего не возвращает.

Как решить такую ​​проблему?

1
задан 27 March 2018 в 12:22

2 ответа

Отметьте тот GNU grep поддержки \w для символов соответствующего слова (алфавиты, цифры и подчеркивание), таким образом, Вы могли легко соответствовать только словесным символам в части между звездочками:

grep -o '\*\*\w*\*\*'
2
ответ дан 7 December 2019 в 13:25

Вы почти там с Вашим первым grep команда.

Если только необходимо соответствовать строке, которые имеют отдельное слово, включают пространство [^...] regex:

$ grep -o '\*\*[^* ]*\*\*' file
**circumstance**
**case**
**condition**
**Anxiety**
**anxiety**
0
ответ дан 7 December 2019 в 13:25

Другие вопросы по тегам:

Похожие вопросы: