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 .