Use el cuantificador especificado en grep para recuperar el vocabulario satisfecho

0

Intento capturar palabras de un archivo:

$ 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**

El resultado que pretendo es obtener solo palabras:

**circumstance**
**case**
**condition**
**Anxiety**
**anxiety**

Código refactorizado con el cuantificador especificado {,20} :

$ grep -E -o '\*\*[^*]{,20}\*\*' Principles_20_LifePrinciples.md

Lamentablemente, no devuelve nada.

¿Cómo resolver tal problema?

    
pregunta JawSaw 27.03.2018 - 07:59

2 respuestas

2

Sin ver el texto completo del archivo, no:

grep -o '\*\*[a-zA-Z]*\*\*' file

trabajar?

    
respondido por el fd0 27.03.2018 - 13:07
1

La página del manual de re_format (7) dice, acerca de la construcción de llaves:

  

Un límite es {seguido de un entero decimal sin signo, posiblemente seguido de, posiblemente seguido de otro entero decimal sin signo, siempre seguido de}.

¡Note que el primer entero no es opcional!

En otras palabras, si dices {0,20} en lugar de {, 20}, debería funcionar (¡al menos si "cero a veinte" es lo que quieres!).

    
respondido por el Ture Pålsson 27.03.2018 - 08:34

Lea otras preguntas en las etiquetas