Как извлечь только 7 символов, используя grep

Я использую регулярное выражение с 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
1
задан 2 May 2017 в 22:49

6 ответов

Используйте расширенный grep:

grep  -E '^[a-zA-Z0-9]{7}$' /usr/share/wordlists/rockyou.txt

или свою собственную версию:

grep '^[a-zA-Z0-9]\{7\}$' /usr/share/wordlists/rockyou.txt

или даже:

egrep '^.{7}$' /usr/share/wordlists/rockyou.txt
0
ответ дан 22 May 2018 в 23:00

Используйте расширенный grep:

grep -E '^[a-zA-Z0-9]{7}$' /usr/share/wordlists/rockyou.txt

или свою собственную версию:

grep '^[a-zA-Z0-9]\{7\}$' /usr/share/wordlists/rockyou.txt

или даже:

egrep '^.{7}$' /usr/share/wordlists/rockyou.txt
0
ответ дан 18 July 2018 в 13:56

Используйте расширенный grep:

grep -E '^[a-zA-Z0-9]{7}$' /usr/share/wordlists/rockyou.txt

или свою собственную версию:

grep '^[a-zA-Z0-9]\{7\}$' /usr/share/wordlists/rockyou.txt

или даже:

egrep '^.{7}$' /usr/share/wordlists/rockyou.txt
0
ответ дан 24 July 2018 в 20:17

Любая строка, содержащая более 7 символов, также содержит подстроку из 7 символов (которая будет соответствовать вашему выражению).

Вы можете форсировать только полные совпадения, привязывая выражение к началу и концу line:

grep '^[a-zA-Z0-9]\{7\}$' /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 $.
0
ответ дан 22 May 2018 в 23:00

Любая строка, содержащая более 7 символов, также содержит подстроку из 7 символов (которая будет соответствовать вашему выражению).

Вы можете форсировать только полные совпадения, привязывая выражение к началу и концу line:

grep '^[a-zA-Z0-9]\{7\}$' /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 $.
0
ответ дан 18 July 2018 в 13:56

Любая строка, содержащая более 7 символов, также содержит подстроку из 7 символов (которая будет соответствовать вашему выражению).

Вы можете форсировать только полные совпадения, привязывая выражение к началу и концу line:

grep '^[a-zA-Z0-9]\{7\}$' /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 $.
0
ответ дан 24 July 2018 в 20:17

Другие вопросы по тегам:

Похожие вопросы: