Помощь в решении Упражнения для работы с командой grep в терминале Ubuntu

Помогите решить .

Упражнение для работы с командой grep в терминале Ubuntu.

Существует файл Passwords.txt со списком паролей.(одна строка содержит один пароль)

  1. Найти все пароли состоящие из 5 символов и более.

  2. Найти все пароли состоящие из не более 5 символов.

  3. Найти все пароли состоящие из только из заглавных букв.

  4. Найти все пароли состоящие только из цифр.

  5. Найти все пароли которые начинаются с буквы и заканчиваются цифрой.

  6. Найти все пароли в которых есть 3 цифры.

  7. Найти все пароли которые состоят из 7 знаков, начинаются на А и заканчиваются на Z и содержат хотя бы 2 цифры.


Ответы (2 шт):

Автор решения: Leonid VV
  1. grep -E '(\w{5,}' Passwords.txt -c Параметр даст общее число найденных паролей. Без него будет выдан список паролей, отвечающих на задачу.

  2. grep -E '(\w{1,5})' Passwords.txt -c

  3. grep '^[A-Z]*$' Passwords.txt -ca

  4. grep '^[0-9]*$' Passwords.txt -c

  5. grep '^[A-Z,a-z]*[0-9]$' Passwords.txt -c

  6. grep '^[0-9][0-9][0-9]$' Passwords.txt -c

  7. grep -Ex '^[a].{5}[z]$' Passwords.txt | grep '.[0-9].[0-9]'

→ Ссылка
Автор решения: Tommy Humble

Данное решение не включает в себя проверку валидности паролей (писалось из соображений, что все пароли составлены корректно и не содержат запрещенных символов). Большинство решений взяты из первого ответа к данному вопросу.

Ключ гарантирует вывод количества всех записей подходящих под описание, без ключа будет выведен список всех паролей подходящих под описание.

  1. grep -E '^.{5,}$' Passwords.txt -c
  2. grep -E '^.{1,5}$' Passwords.txt -c
  3. grep -E '^[A-Z]*$' Passwords.txt -c
  4. grep -E '^[0-9]*$' Passwords.txt -c
  5. grep -E '^[A-Z,a-z].*[0-9]$' Passwords.txt -c
  6. grep -E '^([^0-9]*[0-9][^0-9]*){3}$' -c
  7. grep -E '^A.{5}Z$' Passwords.txt | grep -E '([^0-9]*[0-9][^0-9]*){2,}' -c
→ Ссылка