Помощь в решении Упражнения для работы с командой grep в терминале Ubuntu
Помогите решить .
Упражнение для работы с командой grep в терминале Ubuntu.
Существует файл Passwords.txt со списком паролей.(одна строка содержит один пароль)
Найти все пароли состоящие из 5 символов и более.
Найти все пароли состоящие из не более 5 символов.
Найти все пароли состоящие из только из заглавных букв.
Найти все пароли состоящие только из цифр.
Найти все пароли которые начинаются с буквы и заканчиваются цифрой.
Найти все пароли в которых есть 3 цифры.
Найти все пароли которые состоят из 7 знаков, начинаются на А и заканчиваются на Z и содержат хотя бы 2 цифры.
Ответы (2 шт):
grep -E '(\w{5,}' Passwords.txt -cПараметр-сдаст общее число найденных паролей. Без него будет выдан список паролей, отвечающих на задачу.grep -E '(\w{1,5})' Passwords.txt -cgrep '^[A-Z]*$' Passwords.txt -cagrep '^[0-9]*$' Passwords.txt -cgrep '^[A-Z,a-z]*[0-9]$' Passwords.txt -cgrep '^[0-9][0-9][0-9]$' Passwords.txt -cgrep -Ex '^[a].{5}[z]$' Passwords.txt | grep '.[0-9].[0-9]'
Данное решение не включает в себя проверку валидности паролей (писалось из соображений, что все пароли составлены корректно и не содержат запрещенных символов). Большинство решений взяты из первого ответа к данному вопросу.
Ключ -с гарантирует вывод количества всех записей подходящих под описание, без ключа -с будет выведен список всех паролей подходящих под описание.
grep -E '^.{5,}$' Passwords.txt -cgrep -E '^.{1,5}$' Passwords.txt -cgrep -E '^[A-Z]*$' Passwords.txt -cgrep -E '^[0-9]*$' Passwords.txt -cgrep -E '^[A-Z,a-z].*[0-9]$' Passwords.txt -cgrep -E '^([^0-9]*[0-9][^0-9]*){3}$' -cgrep -E '^A.{5}Z$' Passwords.txt | grep -E '([^0-9]*[0-9][^0-9]*){2,}' -c