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

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

  • Автор темы Автор темы TikTak
  • Дата начала Дата начала

TikTak

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

Снимок экрана от 2024-02-18 23-12-26.png


а необходим вот такой формат получить именно что бы в конце был адрес домена без ссылок на каталоги и "/" в конце строки

Снимок экрана от 2024-02-18 23-17-39.png
 
Последнее редактирование:
Здравствуйте снова прошу помочь
ситуация следующяя мне надо убрать все лишне после урл что бы получилось так
Снимок экрана от 2024-02-20 10-32-43.png

а пока всё в таком виде
Снимок экрана от 2024-02-20 10-32-43.png

побывал через играться с параметрами pv file.txt | cut -f 2 -d : |
не выходит так как надо в общем по разному пробовал и почитал про разделители но всё время выходит как то не то что надо
подскажите пожалуйста как это можно реализовать
 
Добрый день!
pv file.txt | cut -f 2 -d : |
А зачем тут последняя вертикальная черта:
cat file.txt | cut -d ":" -f 1
cat file.txt | cut -d ":" -f 2
-d delimiter - это разделитель - тот символ по которому будет происходить деление строки
в вашем случае - это двоеточие
-f field - поле - номер столбца, который будет возвращён
у вас - это первое поле - нумерация с единицы начинается
 
Последнее редактирование:
Здравствуйте снова прошу помочь
ситуация следующяя мне надо убрать все лишне после урл что бы получилось так
Посмотреть вложение 73974
а пока всё в таком виде
Посмотреть вложение 73975
побывал через играться с параметрами pv file.txt | cut -f 2 -d : |
не выходит так как надо в общем по разному пробовал и почитал про разделители но всё время выходит как то не то что надо
подскажите пожалуйста как это можно реализовать

Bash:
awk -F":" '{print $1":"$2}' pv_file.txt

cut тут не очень подходит из-за свей негибкости.
 
Добрый день!

А зачем тут последняя вертикальная черта:
cat file.txt | cut -d ":" -f 1
cat file.txt | cut -d ":" -f 2
-d delimiter - это разделитель - тот символ по которому будет происходить деление строки
в вашем случае - это двоеточие
-f field - поле - номер столбца, который будет возвращён
у вас - это первое поле - нумерация с единицы начинается
так не получаться побывал а черта это просто скопировал команду из шпаргалки
результат такой получаться то есть начало линков режется http: и https: вырезаются
Снимок экрана от 2024-02-20 12-02-02.png


Bash:
awk -F":" '{print $1":"$2}' pv_file.txt

cut тут не очень подходит из-за свей негибкости.
Это работает всем спасибо
надо учить awk
 
Здравствуйте снова прошу помочь
ситуация следующяя мне надо убрать все лишне после урл что бы получилось так
Посмотреть вложение 73974
а пока всё в таком виде
Посмотреть вложение 73975
побывал через играться с параметрами pv file.txt | cut -f 2 -d : |
не выходит так как надо в общем по разному пробовал и почитал про разделители но всё время выходит как то не то что надо
подскажите пожалуйста как это можно реализовать
Если нужна ещё и часть с протоколом, можно просто через указание диапазона
cut -d ':' -f1-2
-f 1-2 - это и будет выбор первого и второго столбца
 
Это работает всем спасибо
надо учить awk
Таки да - в обработке текста и доступности на всех платформах awk-у нет конкуренции.

Расклад что тут делается: awk -F":" '{print $1":"$2}' pv_file.txt
  • -F":" говорит awk-у что разделителями полей будет : . Таким образом 1-е поле все от начала строки до первого :, в этом случае https
  • print $1":"$2 тут мы просто собираем нужные нам поля отбрасывая лишнее и печатаем. Первым идет 1-е поле - как показал выше https, далее добавляю : так как его мы назвали
    разделителем полей, оно поглощается при разбивке строки на поля а нам двоеточие нужно в результате. Далее добавляем поле номер 2 - все что после 1-го : вплоть до
    следующего : - по случаю следующий : и заканчивает URL, поэтому оставшиеся поля строки нам не нужны и на этом мы печетаем результат.
 
Если по быстрому:
awk -F: '{print $3":"$4":"$1":"$2}' filename.txt

Код:
INPUT:

abc@mail.co.uk:pass1:https://google.com/
bcd@vk.com:pass@go:https://fdd.com

OUTPUT:

https://google.com/:abc@mail.co.uk:pass1
https://fdd.com:bcd@vk.com:pass@go



Прим.: скрипт поломается для строк где ":" (двоеточие) встретится в пароле
 
Если по быстрому:
awk -F: '{print $3":"$4":"$1":"$2}' filename.txt

Код:
INPUT:

abc@mail.co.uk:pass1:https://google.com/
bcd@vk.com:pass@go:https://fdd.com

OUTPUT:

https://google.com/:abc@mail.co.uk:pass1
https://fdd.com:bcd@vk.com:pass@go



Прим.: скрипт поломается для строк где ":" (двоеточие) встретится в пароле
Понял спасибо
 
всем привет , вот встала теперь такая задача с удалённого сервера из папки по пути /var/www/html/9c9678b4371f4e65
надо скопировать все файлы за последние два дня которые находятся командой find -atime -2 и -mtime -2 работают не правильно

а как связать две команды что бы копировать файлы с выбркой за послдени два три дня так не смог решить гуглил гуглил не чего талового не нашло
побывал так rsync -avz --files-from=<(ssh root@**.***.**.888 'find /var/www/html/9c9678b4371f4e65 -type f -atime -2 -exec basename {} \;') root@**.***.**.888:/var/www/html/9c9678b4371f4e65 /home/52/SERV/FILE
подскажите пожалуйста как это можно реализовать
 
Последнее редактирование:
вот теперь такая задача на сервере храниться архивы 180к
мне надо удалить все кроме тех что за последнию неделю
ума не приложу как это реализовать подскажи пожалуйста если ест у кого какие мысли как это сделать
такая команда не подходит почему то цепляет файлы кторым меньше 10 дней даже вчерашние и сегодняшние

find . -name "*.zip" -type f -mtime +10 -delete работает вроде как

Снимок экрана от 2024-04-05 21-31-26.png
 

Вложения

  • Снимок экрана от 2024-04-05 20-27-22.png
    Снимок экрана от 2024-04-05 20-27-22.png
    21,7 КБ · Просмотры: 411
Последнее редактирование:
ребят снова я к вам с вопросом
есть список доменов с мусорными строками после домена как почистить и оставит только список доменов сабдоменов
файл выглядит так

Снимок экрана от 2024-04-26 12-05-21.png


а нужно получить список чистый только домены и сабдомены
в таком формате
sub.domen.de
new,domen.de
ranom.domen.de
1x.2x.3x.domen.de
t87t9py9y.domen.de
uig.domen.de
test.domen.de

d312d132dd13ee1.domen.de

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

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