Eu suspeito que este seja um tipo de exercício somente para o grep. A solução grep pura é esta:
Em uma única linha:
echo "first 1 is the real 2 time the word matched 3 " |grep -Eo '[0-9]' |grep -m1 -E '[0-9]'
Infelizmente, usar grep -m1
no primeiro grep não está dando o resultado desejado.
Em um arquivo com muitas linhas, você precisa usar um loop:
while read -r line; do
grep -Eo '[0-9]' <<<"$line" |grep -m1 -E '[0-9]'
done < file.txt
Ou em uma linha de comando:
while read -r line; do grep -Eo '[0-9]' <<<"$line" |grep -m1 -E '[0-9]';done < a.txt
A saída é a desejada.