• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Регулярные выражения Grup

TikTak

Well-known member
16.05.2020
48
0
BIT
335
Возникала не обходимсть
разбить большой фаил на айпи диапазоны
через grup
сделал так grep -E ^NZ GeoIPData.txt | cat >NZ.txt
далее надо отфильтравать всё лишнее из файла что бы на выходе сохронить диапазоны айпи в таком виде 222.155.235.0-222.155.235.3
то есть убрать всё лишнее с лева от списка диапазонов айпи и сохронить в фаил
что бы получилось так
222.155.235.0-222.155.235.3
222.155.235.0-222.155.235.4
222.155.235.0-222.155.235.5
222.155.235.0-222.155.235.6

в регулярках в конец запутался , подскажите пожалуйста
 

Вложения

  • Снимок экрана от 2023-12-29 09-45-16.png
    Снимок экрана от 2023-12-29 09-45-16.png
    5,9 КБ · Просмотры: 1 612
  • Снимок экрана от 2023-12-29 09-50-36.png
    Снимок экрана от 2023-12-29 09-50-36.png
    37,9 КБ · Просмотры: 282
Последнее редактирование:

TikTak

Well-known member
16.05.2020
48
0
BIT
335
Раз уж начал эту тему , спрошу ещё вот что
скачал фаил с раздачи так называмых логов ( скачал разумееться в песочницу)
строк в файле 20кк в таком виде

ПРИМЕР
Path: C:\Users\Administrator\Desktop\Mega\SENT\LOSI\KE_41.60.235.86_2022-09-23T13_08_37.508Z.zip
Host:
Login: wordpress
Password: chemu10
- - - -
Path: C:\Users\Administrator\Desktop\Mega\SENT\LOSI\KE_41.60.235.86_2022-09-23T13_08_37.508Z.zip
Host:
Login: wordpress
Password: chemu10
- - - -
Path: C:\Users\Administrator\Desktop\Mega\SENT\LOSI\KE_41.60.235.86_2022-09-23T13_08_37.508Z.zip
Host:
Login: wordpress
Password: chemu10
- - - -
Path: C:\Users\Administrator\Desktop\Mega\SENT\LOSI\TW_125.228.246.29_2022-09-27T07_56_12.537Z.zip
Host:
Login: hsu410
Password: m0145987
- - - -
Path: C:\Users\Administrator\Desktop\Mega\SENT\LOSI\TW_125.228.246.29_2022-09-27T07_56_12.537Z.zip
Host:
Login: Hsu410
Password: m00145987

И В ТАКОМ
Host:
Login: wordpress
Password: chemu10

Host:
Login: wordpress
Password: chemu10

Host:
Login: wordpress
Password: chemu10

Host:
Login: Hsu410
Password: m00145987

Собственно интерсует возможно ли чрез grup реализовать такой поиск , допустим маркер линка из строки Host: localhost что бы находило не просто эти строки а ещё и строки которые идут следом за Host
это логин и пароль


Login: Hsu410
Password: m00145987
всест роки с локалхот и их логинами паролями
на выходи было следущее
Host:
Login: wordpress
Password: chemu10

Host:
Login: wordpress
Password: chemu10

Host:
Login: wordpress
Password: chemu10
 

f22

Codeby Academy
Gold Team
05.05.2019
1 931
226
BIT
1 719
Почему же grup, когда название утилиты grep?

и а ещё и строки которые идут следом за Host
это логин и пароль
Да, это возможно.
В grep есть 2 ключа, которые отвечают за поиск до совпадения и после совпадения -A и -B, после них нужно указать цифру - количество строк, которое будет отображено до/после совпадения:
1704265764159.png

Если нужно убрать два дефиса, можно добавить отрицательный паттерн:
1704265800830.png
 

TikTak

Well-known member
16.05.2020
48
0
BIT
335
Круто спасибо большое , в общем понял что grup это мошьная вешь однако))
 
Последнее редактирование:

TikTak

Well-known member
16.05.2020
48
0
BIT
335
сори за очередной глупый вопрос но голова уже не соображает как это реализовать через grep помогите пожалуйста
в общем задача такая
есть куча линков
из них надо сделать выборку те что с ip пример
вот такие строки мне надо собрать вместе с дампа 10гб в таком формате

Host: http://123.22.22.33/login
Login: wordpress
Password: chemu10
- - - -
Login: wordpress
Password: chemu10
- - - -
Host:
Login: wordpress
Password: chemu10
- - - -
Host:
Login: hsu410
Password: m0145987

побывал так
grep -i -a -A 2 ".[0-9][0-9]/login.*$" Host.txt

ну это точно не правильно думаю есть какой то более изящный способ
подскажите пожалуйста
 

TikTak

Well-known member
16.05.2020
48
0
BIT
335
не это совсем не то что нужно
нет впереди http:// https://
и нет двух последующих строк
Login:
Password:


я пытаюсь получить такой результат
Host:
Login: sefafaf
Password: iulgu;ogho[]
--
Host:
Login: hfiytfo
Password: ktudfliyv
--
Host:
Login: dstruditc
Password: hvgcyuxdrifo
--
Host:
Login: dstruditc
Password: hvgcyuxdrifo
--
Host:
Login: eryasdi
Password: fc67o8vyi
--
Host:
Login: t679fg
Password: 67r47985
--
Host:
Login: t679fg
Password: 2356857890
--
Host:
Login: 007700
Password: 32354657860

grep -i -a -A 2 -Eo "([0-9]{1,3}\.){3}[0-9]{1,3}/login*$" Host.txt

так и не пойму как это реализовать что бы парсило с дампа именно в таком формате если есть варианты подскажите пожалуйста а выходит это

Снимок экрана от 2024-02-02 07-01-03.png
 

TikTak

Well-known member
16.05.2020
48
0
BIT
335
в исходном файле вот такие строки
Снимок экрана от 2024-02-02 11-24-20.png

и из этих строк надо вытащить все строки с логин пасами
в которых именно такой формат то есть не ссылки а именно где ip адреса и присутствует /login

Host: http://123.22.22.33/login
Login: wordpress
Password: chemu10
- - - -

http://123.22.33.44:3389/login
Login: wordpress
Password: chemu10
- - - -
Host: https://123.22.33.231/login
Login: wordpress
Password: chemu10
- - - -
Host: https://123.22.33.444:3389/login
Login: hsu410
Password: m0145987
 
Последнее редактирование:

f22

Codeby Academy
Gold Team
05.05.2019
1 931
226
BIT
1 719
Я бы в таком случае python использовал, раз так много условий:
Python:
import re

# Читаем файл с результатами
with open('results.txt') as reader:
    contents = reader.read().split('--')

print(contents)
output = []
for line in contents:
    if line.strip().startswith('Host') and line.split()[1].endswith('login'):
        if re.search(r'([0-9]{1,3}\.){3}[0-9]{1,3}', line):
            output.append(line)

# Пишем в файл результаты
with open('output.txt', 'w') as writer:
    writer.writelines(output)
 

TikTak

Well-known member
16.05.2020
48
0
BIT
335
Для меня это сложно я не знаю питон
ясно что надо сохранить это код допустим фаил parse.py
но всё время его открывать и прописывать фаил который надо парсить это не совсем удобно так как файлов много с такими данными через grep думаю было бы удобнее

не работает скрипт

k52@k52:~/Рабочий стол/PS/DB_01/HS$ python3 pr.py
Убито
k52@k52:~/Рабочий стол/PS/DB_01/HS$ python3 pr.py
Убито
k52@k52:~/Рабочий стол/PS/DB_01/HS
Снимок экрана от 2024-02-02 18-32-15.png
 
Последнее редактирование:

TikTak

Well-known member
16.05.2020
48
0
BIT
335
Код:
Подскажите пожалуйста
как добавить между строк вот такие чёрточки -----------------------------------------
с помощью чего в LINUX возможно что бы разделить строки
строки в таком формате


http://222.255.***.**/login:theanh12c1:theanhbd12c
http://81.215.**.**/login:27992542134:27992542134+1
https://139.59.***.**/login:yusup123:yusup123
http://202.154.**.**/login:P05340137@timtekanbk:123456*@
http://202.154.**.**/login:P05340137@hdunbk:123456*@
http://118.107.***.**/login:61435580432:000000
https://172.26.**.**/login:CDJK5546:Orange2@22
http://190.115.**.**/login:silvio@swantusch.de:Aniangel54
http://10.161.***.**/login:bvyugoli:kns0351
Снимок экрана от 2024-02-04 21-38-50.png
 
Последнее редактирование:

TikTak

Well-known member
16.05.2020
48
0
BIT
335
Решил задачу так
awk '{ print $0 "==========================" }' file.txt | cat > newfile.txt
а потом просто перенёс строку через Sublime text
но изящнее было бы сразу добавить в awk перенос строки
но я не пойму как это реализовать
 

Polyglot

Green Team
25.02.2020
45
57
BIT
247
Решил задачу так
awk '{ print $0 "==========================" }' file.txt | cat > newfile.txt
а потом просто перенёс строку через Sublime text
но изящнее было бы сразу добавить в awk перенос строки
но я не пойму как это реализовать
awk '{print $0 "\n" "==========================" }' file.txt > newfile.txt
cat тут лишний и ничего не делает бтв.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!