¿Cómo eliminar solo números de 0 a 9 caracteres de un archivo?

¿Cómo eliminar solo números de 0 a 9 caracteres de un archivo?

¿Cómo podemos eliminar de un archivo solo los números que tienen 0,1,2,3,4,5,6,7,8,9 caracteres? Me refiero a las líneas que coinciden con este patrón.

Ejemplo de líneas extraíbles:

cat input.txt
1
123423113
8372
8472323

Ejemplo de líneas que no deben eliminarse:

cat input.txt
1a
1245d45
8565438753
b39592
3827495Hx

Respuesta1

Usando sed:

sed -i.bak -e '/^[0-9]\{1,9\}$/d' file

Usando perl:

perl -i.bak -nle 'print unless /^[0-9]{1,9}$/' file

Respuesta2

perl -i.bak -nle 'print unless /^[0-9]{0,9}$/' file

Usted solicitó que también se eliminaran los números de longitud cero (es decir, líneas vacías).

información relacionada