Se o seu grep
suportar PerEx Compatible RegExp ( -P
), você pode fazer:
grep -Po '(?<=^|\s)\d[^\s]*(?=\s|$)' file.txt
-
Supondo que
word
significava caracteres separados apenas por espaços em branco -
?<=^|\s)
é a largura zero positiva que fica atrás do padrão, garantindo que a palavra desejada seja precedida pelo início da linha ou por um espaço em branco -
\d[^\s]*
é a nossa correspondência desejada, palavra que começa com um dígito -
(?=\s|$)
é o padrão lookahead positivo com largura zero garantindo que a correspondência desejada seja seguida por um espaço em branco ou fim da linha.