LINUX.ORG.RU

История изменений

Исправление CrX, (текущая версия) :

В строке 22557788 одновременно нет значений «00 11 22 33 44 55 66 77 88 99». Только «22 55 77 88» — нет «00 11 33 44 66 99».

При этом если надо не все, то почему 12348899 отбрасывается? Ведь в нём тоже есть «88 99».

Сколько надо чтоб было?

Или надо просто чтобы не было непарных цифр?

Я правильно понял, что надо, чтобы строка состояла только из двойных цифр и ничего больше, в этом суть?

Ну тогда всё просто: grep -E '^(00|11|22|33|44|55|66|77|88|99)+$'

cat testfile 
10110000
11004488
67993344
22662266
11111111
22225555
33331111
88885555
90011111
55005500
22773366
60345588
10109901
74339955
54850099
77441188
43887544

grep -E '^(00|11|22|33|44|55|66|77|88|99)+$' testfile
11004488
22662266
11111111
22225555
33331111
88885555
55005500
22773366
77441188

grep -Ev '^(00|11|22|33|44|55|66|77|88|99)+$' testfile
10110000
67993344
90011111
60345588
10109901
74339955
54850099
43887544

Так надо? Или не так опять?

Исправление CrX, :

В строке 22557788 одновременно нет значений «00 11 22 33 44 55 66 77 88 99». Только «22 55 77 88» — нет «00 11 33 44 66 99».

При этом если надо не все, то почему 12348899 отбрасывается? Ведь в нём тоже есть «88 99».

Сколько надо чтоб было?

Или надо просто чтобы не было непарных цифр?

Я правильно понял, что надо, чтобы строка состояла только из двойных цифр и ничего больше, в этом суть?

Ну тогда всё просто: grep -E '^(00|11|22|33|44|55|66|77|88|99)+$'

Исправление CrX, :

В строке 22557788 одновременно нет значений «00 11 22 33 44 55 66 77 88 99». Только «22 55 77 88» — нет «00 11 33 44 66 99».

При этом если надо не все, то почему 12348899 отбрасывается? Ведь в нём тоже есть «88 99».

Сколько надо чтоб было?

Или надо просто чтобы не было непарных цифр?

Исправление CrX, :

В строке 22557788 одновременно нет значений «00 11 22 33 44 55 66 77 88 99». Только «22 55 77 88» — нет «00 11 33 44 66 99».

При этом если надо не все, то почему 12348899 отбрасывается? Ведь в нём тоже есть «88 99».

Сколько надо чтоб было?

Или надо просто чтобы не было непарных цифр?

Если последнее, то grep -P '^(?:(?!(.)\1).)*((.)\3)((?:(?:(?!\2).)*\2){2})*(?:(?!\2).)*$'

Исходная версия CrX, :

В строке 22557788 одновременно нет значений «00 11 22 33 44 55 66 77 88 99». Только «22 55 77 88» — нет «00 11 33 44 66 99».

При этом если надо не все, то почему 12348899 отбрасывается? Ведь в нём тоже есть «88 99».

Сколько надо чтоб было?

Или надо просто чтобы не было непарных цифр?