как отфильтровать файл, чтобы получить строки, состоящие исключительно из пар повторяющихся цифр?

как отфильтровать файл, чтобы получить строки, состоящие исключительно из пар повторяющихся цифр?

У меня есть файл, в котором есть числа, начинающиеся с

00000000
00000001
00000002
.
.
.
99999999

Я хочу отфильтровать его в bash так, чтобы вывод был таким:

00000000
00000011
00000022
.
.
11223344
11223355
.
.
99999977
99999988
99999999

решение1

Похоже, вы действительно хотитефильтрфайл, а не сортировать его - в частности, выводить только те строки, которые полностью состоят из пар повторяющихся символов или (точнее) цифр. Так, например, используя grep, что-то вроде

grep -Ex '((.)\2)+' yourfile

или использование режима PCRE для избежания захвата внешней группы

grep -Px '(?:(\d)\1)+' yourfile

решение2

Предполагая, что все ваши числа состоят из восьми цифр и находятся в файле с именем nums.txt, вы можете использовать строковую функцию awk substr для фильтрации всех строк, последние два символа которых одинаковы:

awk '{ if(substr($1, 7, 1)==substr($1, 8, 1)) print $1}' nums.txt

После этого вы получаете:

    00000000
    00000011
    00000022
    00000055

....

Связанный контент