Я использую регулярное выражение с grep
. Я хочу извлечь точно 7 символьных паролей, но я получаю 7 и больше чем 7 символов в результате.
grep '[a-zA-Z0-9]\{7\}' /usr/share/wordlists/rockyou.txt
grep '[a-zA-Z0-9]\{7,7\}' /usr/share/wordlists/rockyou.txt
Используйте расширенный grep:
grep -E '^[a-zA-Z0-9]{7} или Ваша собственная версия как:
grep '^[a-zA-Z0-9]\{7\} или даже:
egrep '^.{7} /usr/share/wordlists/rockyou.txt
/usr/share/wordlists/rockyou.txt
или даже:
egrep '^.{7} /usr/share/wordlists/rockyou.txt
/usr/share/wordlists/rockyou.txt
или Ваша собственная версия как:
grep '^[a-zA-Z0-9]\{7\} или даже:
egrep '^.{7} /usr/share/wordlists/rockyou.txt
/usr/share/wordlists/rockyou.txt
или даже:
egrep '^.{7} /usr/share/wordlists/rockyou.txt
Любая строка, которая содержит больше чем 7 символов также, содержит подстроку 7 символов (который будет соответствовать Вашему выражению).
можно вызвать только полные соответствия привязка выражение к запуску и концу строки:
grep '^[a-zA-Z0-9]\{7\} или указывают соответствие целой строки с помощью -x
опция
grep -x '[a-zA-Z0-9]\{7\}' /usr/share/wordlists/rockyou.txt
От man grep
:
-x, --line-regexp
Select only those matches that exactly match the whole line.
For a regular expression pattern, this is like parenthesizing
the pattern and then surrounding it with ^ and $.
/usr/share/wordlists/rockyou.txt
или указывают соответствие целой строки с помощью -x
опция
grep -x '[a-zA-Z0-9]\{7\}' /usr/share/wordlists/rockyou.txt
От man grep
:
-x, --line-regexp
Select only those matches that exactly match the whole line.
For a regular expression pattern, this is like parenthesizing
the pattern and then surrounding it with ^ and $.
вы можете перейти
в каталог и попробовать следующую команду:
grep ^.......$ *
.
--> любой одиночный символ (то есть семь .
это семь символов)*
(звездочка) --> все файлы в текущем каталоге (за исключением, как правило, тех, имена начинаются с литерала .
). Вы также можете указать имя (я) файла, если предпочитаете.