¿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).