как отсортировать файл, содержащий возрастающие числа, как файл с парой чисел [закрыто]

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

00000000
00000001
00000002
.
.
.
99999999

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

00000000
00000011
00000022
.
.
11223344
11223355
.
.
99999977
99999988
99999999
-1
задан 25 September 2020 в 17:25

2 ответа

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

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

Затем вы получите:

    00000000
    00000011
    00000022
    00000055

....
1
ответ дан 4 January 2021 в 08:24

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

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

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

grep -Px '(?:(\d)\1)+' yourfile
2
ответ дан 4 January 2021 в 08:24

Другие вопросы по тегам:

Похожие вопросы: