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

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

TikTak

Active member
16.05.2020
40
0
BIT
266
Возникала не обходимсть
разбить большой фаил на айпи диапазоны
через 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 219
  • Снимок экрана от 2023-12-29 09-50-36.png
    Снимок экрана от 2023-12-29 09-50-36.png
    37,9 КБ · Просмотры: 54
Последнее редактирование:

f22

Codeby Academy
Gold Team
05.05.2019
1 839
225
BIT
1 018
Возникала не обходимсть
разбить большой фаил на айпи диапазоны
через 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

в регулярках в конец запутался , подскажите пожалуйста
Греп тут вообще не нужен
cat GeoIPData.txt | cut -d "|" -f 4 | sort -u -o results
cut поделит строки по разделителю - вертикальной черте, -f - это указания поля field, sort -u отсортирует и оставит только уникальные элементы, а ключ -o указывает файл для записи

Если нужно найти строки, которые начинаются на NZ, можно использовать регулярку
cat GeoIPData.txt | grep -Eo "^NZ.*$" | cut -d "|" -f 4 | sort -u -o results
 
Последнее редактирование:

TikTak

Active member
16.05.2020
40
0
BIT
266
Дальше встала такая делема есьт фаил со списком 10гб в нём 200кк строк
в таком виде
1 строка Path D:\***********************************************************
2 строка ID
3 строка Nkname
4 строка Mail
5 строка ------
6 строка Path D:\***********************************************************
7 строка ID
8 строка Nkname
9 строка Mail
10 строка ------
И так далее
мне надо удалить некторые строки пример 1 и 5 что бы осталтсь в таком же порядке 2 3 4 строки на выходе получилось такой список
1 строка ID
2 строка Nkname
3 строка Mail
4 строка ------
5 строка ID
6 строка Nkname
7 строка Mail
8 строка ------
и так далее
ума не преложу через что это реализовать даже grup не может в нём строки подсчитать, открываю фаил .txt в sublime text
ждать приходиться открытия файла долго , разбивать смысла нет потому как разбить можно максимум на фаил по 700к строк это совсем не хорошо так как строк там 200кк
Подскажите пожалуйста как такое можно реализовать если был у кого то подобный опыт
 
Последнее редактирование:

f22

Codeby Academy
Gold Team
05.05.2019
1 839
225
BIT
1 018
Чтобы инвертировать поиск - то есть найти всё, что не соответствует паттерну, используется ключ -v утилиты grep
1703890462291.png
 

TikTak

Active member
16.05.2020
40
0
BIT
266
Получилось спасибо

Только пришлось ключ - a добавить
вышло вот так cat file_test.txt | grep -a -v Path | cat > new_file.txt
 

TikTak

Active member
16.05.2020
40
0
BIT
266
А вот теперь совсем задача усложнилась
Есть фаил с 30кк стороками ID все разные но еcть и дубли и те которые встречаються много раз пример

]%4]:_44@cTczhdg
XO*BM!Fd1KeM'W_0
_F\OY&Y4X(4ogAoE
O9(QO$=0#h6k50_>
D`eJXh-E(!\mO0IE
F-2@`F@pRlgnoG){
I_Nklv6C6%:Iq3PO
I_Nklv6C6%:Iq3PO
I_Nklv6C6%:Iq3PO
.`X{UmH!RXdrrM-8
)xQL\\6_F;G_@jB)
LXF3imHM+1Up[LE_
.=T[btw]:F.10-L8
m_dZ*}%\lE61zgJu
m_dZ*}%\lE61zgJu
m_dZ*}%\lE61zgJu
Anveb_v)>1.Yi0}f
ZO_b?`2D[Y4';ce0
5/Eu-R\2e:cq4Rwa
~|:MxBZ|9h\_+bUk
\_S1c>L]OaFNUGxs
X~N7pa?*^%a-Cog5
>6wQmz:W#JYIRf6_
>6wQmz:W#JYIRf6
>KM\)$?n]1!\EG_3

вот с такого файла надо вывести статистику
в виде что бы было видно какая строка сколко раз повторяеться
по типу
повторяеться
10 раз такая то строка 5/Eu-R\2e:cq4Rwa
20 раз повтряекться >6wQmz:W#JYIRf6
100 раз повторяеться .`X{UmH!RXdrrM-8
16 раз повторяеться I_Nklv6C6%:Iq3PO
и так далее
при чём надо резултат записать в фаил
как это реализовать ума не приложу
Подскажите пожалуйста если не сложно , как такое можно реализовать
 

f22

Codeby Academy
Gold Team
05.05.2019
1 839
225
BIT
1 018
Решил так
cat id_db.txt | cut -f 2 -d : | sort | uniq -d -c | sort -nr > Stat_id_db.txt
Не совсем понял эту строку. Как тут можно делить по двоеточию, если неизвестно, есть оно в строке или нет?

Я бы предложил такое решение:
1703976961534.png
Bash:
for line in `cat test_uniq.txt | sort -u`; do echo -en "Строка "$line"\t Встречается раз: "; grep -Eo "$line" test_uniq.txt | wc -l; done

Если нужно записывать в файл, то
1703977139954.png
Bash:
for line in `cat test_uniq.txt | sort -u`; do echo -en "Строка ${line}\t Встречается раз: "`grep -Eo "$line" test_uniq.txt | wc -l`"\n" >> results.log; done
 

TikTak

Active member
16.05.2020
40
0
BIT
266
Есть список c почтовыми адресами и через двоеточие : дальше идёт ID в виде хеша
и куча мусорных строк и надо распасить фаил весом 3гб и сохронить в фаил тоько строки где есть реальный email и хещ ID
jbiygbkjug78tg9-8y-09u=9]jjj]
*********jkbbldas@mail.com:hesh
*******88bhjblbb@gmail.com:f60f24f725336bbd94497af98e5e3f9fa48768b5
g68rflh0[9u['j]-9j]-jk]0
****************h98hjbbljkl@yahoo.com:6d8f971af4125f5ce89c13383c6c9fbc385fad2a
bhjlub****j.bb@outllok.com:b6d71a5eb318cf7751ae1cb175f22c9d
iug078yp98h8;h80[j9
drds45wei78kltg;h

пробую сделать так

grep -o '[[:alnum:]+.\_-]*@[[:alnum:]+.\_-]*' Mail.txt

в итоге получаю
список почтовых адресов
дальше пока не могу разобраться как правильно составить команду мало опыта ещё
что бы получить чистый сипсок в виде списка строк email:hesh
*********jkbbldas@mail.com:hesh
*******88bhjblbb@gmail.com:f60f24f725336bbd94497af98e5e3f9fa48768b5
***************h98hjbbljkl@yahoo.com:6d8f971af4125f5ce89c13383c6c9fbc385fad2a
bhjlub****j.bb@outllok.com:b6d71a5eb318cf7751ae1cb175f22c9d
подскажите пожалуйста как это реализовать
 

TikTak

Active member
16.05.2020
40
0
BIT
266
Не совсем понял эту строку. Как тут можно делить по двоеточию, если неизвестно, есть оно в строке или нет?

Я бы предложил такое решение:
Посмотреть вложение 73210
Bash:
for line in `cat test_uniq.txt | sort -u`; do echo -en "Строка "$line"\t Встречается раз: "; grep -Eo "$line" test_uniq.txt | wc -l; done

Если нужно записывать в файл, то
Посмотреть вложение 73211
Bash:
for line in `cat test_uniq.txt | sort -u`; do echo -en "Строка ${line}\t Встречается раз: "`grep -Eo "$line" test_uniq.txt | wc -l`"\n" >> results.log; done
Да я не много не правильно сформулировал в некторых строках было двоеточие
и спаибо болшое вам за помошь
 

f22

Codeby Academy
Gold Team
05.05.2019
1 839
225
BIT
1 018
Пожалуйста!

где есть реальный email и хещ ID
А что значит реальный?
Какой-то критерий реальности есть или нужно ориентироваться на символ @ в строке?
Если последний вариант, то можно сделать так:
Bash:
grep -Eo "[[:alnum:]]+@[[:alnum:]].*?:[a-z0-9]{40}" Mail.txt
Можно точнее указать набор символов хеша, если там могут быть только символы от a до f
Bash:
grep -Eo "[[:alnum:]]+@[[:alnum:]].*?:[a-f0-9]{40}" Mail.txt
Ну и с верхним регистром в хеше
Bash:
grep -Eo "[[:alnum:]]+@[[:alnum:]].*?:[a-fA-F0-9]{40}" Mail.txt
 

TikTak

Active member
16.05.2020
40
0
BIT
266
Там все симолы присуствуют и буквы и цыфра а вся сложность в том что и спец символы
если быть точнее вот такой список

myomin.u2020@gmail.com:'xL *_'7Wn
roy.jc7@gmail.com:35a#GMKz _
Hygfctr@ha.x:123456789
moustafa.salama14113@med.menofia.eg:*A$k(4_TR
jguizado@icloud.com:xB 0a{&>_H
6535100000:Di@no77
iaguizado@hotmail.com::7cP ?v>_h
+27728009075:Mzimhlophe@103b
lpj0029228@est.univalle.com:@ i2mNBS-d
0bd57n1@bant.me:0000
OliverRogers098@protonmail.com:c> lQW%0-
kk_andrejdimovski@yahoo.com:Q0X=+]-~ w
Hygfctr@ha.x:123456789
soldierboy909.DR@gmail.com:f;$ -@Y74\
Nazmi.Bin.Mohamad@gistics.com:h %S8xT_?`

в списке присутсвуют и такие мусорные строки которые не нужны
+27728009075:Mzimhlophe@103b
ramsevak:sevak@123
6535100000:Di@no77
0bd57n1@bant.me:0000
Hygfctr@ha.x:123456789

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

soldierboy909.DR@gmail.com:f;$ -@Y74\
Nazmi.Bin.Mohamad@gistics.com:h %S8xT_?`
OliverRogers098@protonmail.com:c> lQW%0-
kk_andrejdimovski@yahoo.com:Q0X=+]-~ w
moustafa.salama14113@med.menofia.eg:*A$k(4_TR
jguizado@icloud.com:xB 0a{&>_H
myomin.u2020@gmail.com:'xL *_'7Wn
roy.jc7@gmail.com:35a#GMKz _

в этои и сложнось что в строках присуствуют все цыфры [0-9] буквы [aA-zZ] и спец символы @#$!

подскажите пожалуйста кк возможно это реализовать
 
Последнее редактирование:

f22

Codeby Academy
Gold Team
05.05.2019
1 839
225
BIT
1 018
Можно указать, что после после двоеточия могут идти любые символы в количестве 40 штук
Bash:
grep -Eo "[[:alnum:]]+@[[:alnum:]].*?:.{40}" Mail.txt
 

TikTak

Active member
16.05.2020
40
0
BIT
266
Снимок экрана от 2023-12-31 11-37-01.png


Пробывал не получаетьеться так , реально строк 7кк при парсинге мин 3кк должно выйте
но не ввыходит , что то где то не правилно вес файла 1гб
вторая строка в файле муосрная без реальной почты и таких строк в нём 30-40%
спаибо за подсказки очень выручаете
 

TikTak

Active member
16.05.2020
40
0
BIT
266
Сори затупил видимо зарабоатлся , ответ очень прост или указать диапазон {min,max} или можно было сделать так от {3,}
Ешё раз спасибо и С новым годом! всех благ вам в этом году
 

TikTak

Active member
16.05.2020
40
0
BIT
266
Всё равно после сортировки куча мусора отсалось вот таких строк

аёґ@outlook.com:toptop
аёґsontayatom222@gmail.com:son0858580958
аёґаёґbaconsgz@gmail.com:supermansgz1
аёё6020610137@psu.ac.th:аёЄаёµаё°аё°аё–аёёаё–аё„-
бґЏбґЌЙўбґЂЙґ@ЙўбґЌбґЂЙЄКџ.бґ„бґЏбґЌ:JбґЂЙґбґњбґЂКЂКЏ022010
ᴏɴ884@ʏᴀʜᴏᴏ.ᴄᴏᴍ:ʜᴜɴᴛᴇʀ2213
БНfindir@vvvk.ru:0ubKzN
Введ800900@gmail.com:78277783
Вґjackgh13@gmail.com:Antoniogonzalez113
Вґtavareshoracio7@gmail.com:rafael06
‪hosam80001p@gmail.com‬‏:X/Jzds"7Td:^5_&
‌michellevl2005@gmail.com:Mechy1981.
‎@ArkasNdaki:r82aioxr1923
‎bothainae3@gmail.com‎‏:bobo.85.no1
‎mwafik@msn.com‎:12345600
‎regeilandrei@email.com:looplo121121
‎‏ahmedrade1986@yahoo.com:ahmad1986
•@gm:tualmaos
•@ho tmai:XXXXX974
••••••@feh:Bertiscool1
•••••••••••••••@hotmail.com:ForeverFv7791
‏ahmedshata325@yahoo.com‬‏:010918277868552200
‏ba6mah94@gmail.com:Basmah_949596
‏ed70186a7d@emailnax,com:n@7UdTBisZiw3MT
‏‪astros345r@gmail.com‬‏:01030796837Ms
‏‪bnaklan8@gmail.com:775920101
‏‪bnaklan8@gmail.com‬‏:775920101
‏‪mmssaannaazzii@outlook.com‬‏:ZZt63926
‏‪mohanadmhmom@outlook.sa‬‏:ZZt63926@123
‏‎aa775240074@gmail.com:470042577
‏‎hujiuhg@gmail.com‎‏:1122334455
‏‎kay2222@gmail.com:Kk36560000
‏‎sami2020@barid.com‎‏:qwertyuiop1960
ВЈ@N:aldilan95
воротв@gmail.com:c9YUcnRkv#!G+Sd
ѓn@yahoo.com:605666
Гµeseaabamentos@gmail.com:755781At*
Гµesfinanceiras@gmail.com:997483294
Гµes@gmail.com:portel@0611
гафуров@письмо.рф:ЗапасноеКолесоИЬЦ320
гганод72@гмайл.:M59UU6JLpqDUqjC
ГЈo@berwangeradvogados.adv.br:Berwanger8486*
ГЈocem@gmail.com:katrine
ãodesenvolvimento@raffinato.inf.br:Operação
ГЈo@gmail.com:931612bci#
ГЈo@gmail.com:nuta%ary
ГЈo@plotter:graus765939
ГЈo@taghos.com.br:dUda&5zEje
ГЈo@yesbomdespacho.com.br:123456
ГЎicjbauisba@gmail.com:theanh2608
Гўttpham102@gmail.con:a01664519301
ГЎzaw@local.com:hello
Ё@е‘µе‘µ@m.com:dtsmoai11189-88
Еџahin@hotmal.com:halilhalil
Еџaziyecavusoglu@gmail.com:cemalre
єmjdymstfy@gamli.com:09204126
єпёЏ@gimeil.com:975941693
зµЁ@163.com:4517
ивковицх@гмаил.цом:goran0404
иѓњ677@qq.com:f351ghM`M`
ї@cema:steven12
їn94@interiaп»ї.pп»їп»їl:qwerty94
йккйк@абж,бг:bF[5Ed,$Lg4S_xd
ј@qq.com:teddybear0702
Ќyellmomo60@gmail.com:0823541252za
Ќyootinvong13@gmail.com:Yootin2517
ЌYTIOHOXD@gmail.com:0981046638
љ@е–µе—љ.еЏ°зЃЈ:0iijimaa
мoнaмed44@yaнoo.coм:0483410545
менеджер1@кидспромторг:ULVVSy2tIYJO
њ@narbna@naver.com:3232ddotty
ЊNatharinwong@gmail.com:25442544
Њnook18@gmail.com:NOOK0630
Њnoyinthavong2018@gmail.com:Noy2018id
ЊNoyinthavong2018@gmail.com:noy2018id
ЊNpongpat@hotsth.2j.co.th:Lekturbo2530


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

То есть нужен такой списко без муcора лишнег в строках
до двоеточия идут почты , после двоеточия любые симолы буквы "пароли"
ПРИМЕР

aljuboori@gmail.com:?TD,W?"Ch5eWRh
aljuboori@gmail.com:abdullah1996
573@student.uotechnology.edu.iq:J4FVVkfX
aljuboori@gmail.com:Abdullah1996
mathurprayank08@gmail.com:35144M@thur@@@
mathurprayank@gmail.com:mathurprayank@gmail.com
gupta@marriott.com:Marriott@890
uzairrarshad4@gmail.com:pbolte69
soumyarb2021@gmail.com:1234Soumya
opticpvp37@gmail.com:Advent123@
851520@student.capitalccg.ac.uk:22102005-LS
opticpvp647@gmail.com:Advent1234@
OliverRogers098@protonmail.com:Oliver098
jadestechmann@gmail.com:London123@
jadestechmann@gmail.com:Catdoggy123@
 
Последнее редактирование:

f22

Codeby Academy
Gold Team
05.05.2019
1 839
225
BIT
1 018
То есть нужен такой списко без муcора лишнег в строках
до двоеточия идут почты , после двоеточия любые симолы буквы "пароли"
ПРИМЕР
Можно попробовать следующий подход: нужно указать, какие символы допустимы в логине:
Python:
grep -Eo "[a-zA-Z0-9\.-_]+@[a-zA-Z0-9\.-_]+\.[a-zA-Z]{2,}:.{40}" Mail.txt
 
Мы в соцсетях:

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