Isso extrai linhas que contêm apenas dígitos:
$ grep -E '^[[:digit:]]+$' foo.txt
1
8192
8291
Isso envia a saída para bar.txt
:
grep -E '^[[:digit:]]+$' foo.txt >bar.txt
Como funciona
Quando você deseja selecionar linhas de um arquivo, grep
é o primeiro utilitário a ser usado.
^[[:digit:]]+$
é uma expressão regular . Nela, ^
corresponde ao início de uma linha, [[:digit:]]+
corresponde a um ou mais dígitos e $
corresponde ao final de uma linha. Como essa regex começa com ^
e termina com $
, ela corresponde apenas a linhas inteiras. Uma maneira alternativa de combinar apenas linhas inteiras é usar a opção -x
:
grep -xE '[[:digit:]]+' foo.txt >bar.txt
A opção -E
indica grep
para usar expressões regulares estendidas . Isso reduz a necessidade de escapar das coisas no regex.
O >
significa redirecionamento . Isso faz com que a saída que apareceria na tela vá para um arquivo chamado bar.txt
.