Tengo un archivo que tiene números que comienzan desde
00000000
00000001
00000002
.
.
.
99999999
Quiero filtrarlo en bash para que el resultado sea así:
00000000
00000011
00000022
.
.
11223344
11223355
.
.
99999977
99999988
99999999
Respuesta1
Parece que realmente quieresfiltrarel archivo en lugar de ordenarlo; en particular, para generar solo aquellas líneas que constan enteramente de pares de caracteres repetidos o (más específicamente) dígitos. Entonces, por ejemplo grep
, usando algo como
grep -Ex '((.)\2)+' yourfile
o usar el modo PCRE para evitar capturar el grupo externo
grep -Px '(?:(\d)\1)+' yourfile
Respuesta2
Suponiendo que todos sus números tienen ocho dígitos y están en un archivo llamado nums.txt, puede usar la función de cadena awk de substr para filtrar todas las líneas cuyos dos últimos caracteres son iguales:
awk '{ if(substr($1, 7, 1)==substr($1, 8, 1)) print $1}' nums.txt
Luego obtienes:
00000000
00000011
00000022
00000055
....