Use o grep estendido:
grep -E '^[a-zA-Z0-9]{7}$' /usr/share/wordlists/rockyou.txt
ou sua própria versão como:
grep '^[a-zA-Z0-9]\{7\}$' /usr/share/wordlists/rockyou.txt
ou até mesmo:
egrep '^.{7}$' /usr/share/wordlists/rockyou.txt
Estou usando uma expressão regular com grep
. Eu quero extrair exatamente 7 senhas de caracteres, mas estou obtendo 7 e mais de 7 caracteres como resultado.
grep '[a-zA-Z0-9]\{7\}' /usr/share/wordlists/rockyou.txt
grep '[a-zA-Z0-9]\{7,7\}' /usr/share/wordlists/rockyou.txt
Use o grep estendido:
grep -E '^[a-zA-Z0-9]{7}$' /usr/share/wordlists/rockyou.txt
ou sua própria versão como:
grep '^[a-zA-Z0-9]\{7\}$' /usr/share/wordlists/rockyou.txt
ou até mesmo:
egrep '^.{7}$' /usr/share/wordlists/rockyou.txt
Qualquer linha que contenha mais de 7 caracteres também contém uma substring de 7 caracteres (que corresponderá à sua expressão).
Você pode forçar somente correspondências completas ancorando a expressão no início e no final da linha:
grep '^[a-zA-Z0-9]\{7\}$' /usr/share/wordlists/rockyou.txt
ou especifique a correspondência de linha inteira usando a opção -x
grep -x '[a-zA-Z0-9]\{7\}' /usr/share/wordlists/rockyou.txt
De 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 $.