Как извлечь только 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
2
задан 1 September 2018 в 17:15

3 ответа

Используйте расширенный 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
2
ответ дан 2 December 2019 в 03:40

Любая строка, которая содержит больше чем 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 $.
0
ответ дан 2 December 2019 в 03:40

вы можете перейти в каталог и попробовать следующую команду:

grep ^.......$ *
  • . --> любой одиночный символ (то есть семь . это семь символов)
  • * (звездочка) --> все файлы в текущем каталоге (за исключением, как правило, тех, имена начинаются с литерала .). Вы также можете указать имя (я) файла, если предпочитаете.
-2
ответ дан 20 January 2021 в 17:31

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

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