Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Выбор скриптового языка

Ответить
Настройки темы
Любой язык - Выбор скриптового языка

Старожил


Сообщения: 489
Благодарности: 8

Профиль | Отправить PM | Цитировать


Потихоньку привык использовать в Windows сборники GNU-утилит для Windows: Cygwin и MinGW (MinGW нравится больше), можно использовать bash-скрипты как в линуксе.
Вопрос, если вам нужен в Windows скрипт по работе с текстом (допустим прочитать лог 'C:\Program Files\OpenVPN\log\openvpn.log', найти в нём строки содержащие слово "received" и вывести только IP-адреса содержащие с этих строках), то что вы используете:
1. установлю MinGW и использую bash-скрипт
2. напишу скрипт с использованием командлетов PowerShell
3. использую другой скриптовый язык

Отправлено: 10:49, 13-11-2024

 

Новый участник


Сообщения: 17
Благодарности: 6

Профиль | Цитировать


Всё зависит от обстоятельств и личных предпочтений. Конкретно по заданию: пример входящего файла
Код: Выделить весь код
received from "88.83.177.54" blah-blah-blah
dummy string
not received from 127.0.0.1
Пример решения на PowerShell:
Код: Выделить весь код
(sls received openvpn.txt).line -split '[\s''"]').where{$_ -as [ipaddress]}

Последний раз редактировалось SQLai Lama, 13-11-2024 в 19:34.


Отправлено: 19:21, 13-11-2024 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 17
Благодарности: 6

Профиль | Цитировать


Для сравнения, прочие решения.
Код: Выделить весь код
# perl
perl -nle "print $1 if /received/ and /(\b\d{1,3}(?:\.\d{1,3}){3}\b)/" openvpn.txt

# grep
grep 'received' openvpn.txt | grep -oP '\b([0-9]{1,3}\.){3}[0-9]{1,3}\b'

# ruby
ruby -ne "puts $_.scan(/\b\d{1,3}(?:\.\d{1,3}){3}\b/) if /received/" openvpn.txt

Последний раз редактировалось SQLai Lama, 14-11-2024 в 08:03.


Отправлено: 07:57, 14-11-2024 | #3


Старожил


Сообщения: 489
Благодарности: 8

Профиль | Отправить PM | Цитировать


В MinGW есть и grep, и bash, и sed, и awk, и все GNU-утилиты, привычные каждому линуксоиду, но уже в Windows.
В условии было вывести только IP-адреса, то есть если в логе записано:
Код: Выделить весь код
2024-11-15 08:48:09 88.83.177.54:51414 Control Channel: TLSv1.3, cipher TLSv1.3 TLS_AES_256_GCM_SHA384, peer certificate: 2048 bit RSA, signature: RSA-SHA256
2024-11-15 08:48:09 88.83.177.54:51414 [Guest3 ] Peer Connection Initiated with [AF_INET6]::ffff:88.83.177.54:51414
2024-11-15 08:48:09 Guest3 /88.83.177.54:51414 MULTI_sva: pool returned IPv4=10.8.0.66, IPv6=(Not enabled)
2024-11-15 08:48:09 Guest3 /88.83.177.54:51414 MULTI: Learn: 10.8.0.66 -> Guest3 /88.83.177.54:51414
то я могу сделать так:
Код: Выделить весь код
# cat /c/Program\ Files/OpenVPN/log/openvpn.log | awk '$0~"Peer Connection Initiated" {print $3}'
93.80.41.46:51414
Как это делается на PowerShell?

Последний раз редактировалось RasKolbas, 15-11-2024 в 12:05.


Отправлено: 12:00, 15-11-2024 | #4


Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Цитата RasKolbas:
Как это делается на PowerShell? »
Можно так:

Код: Выделить весь код
(sls '(?<=Connection.+:.+:).+$' file.txt).Matches.Value

Отправлено: 12:42, 15-11-2024 | #5


Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Если нужно первое вхождение, то:

Код: Выделить весь код
(sls 'Connection' file.txt).foreach{$_.Line.Split()[2]}

Отправлено: 16:46, 15-11-2024 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Выбор скриптового языка

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Выбор отображения языка сайта (без переводчика) Michael Mikhail Хочу все знать 2 03-05-2021 10:28
Любой язык - Форма составления заявки (выбор языка) Elven Скриптовые языки администрирования Windows 5 06-06-2015 07:06
Выбор языка при вводе пароля W98 Toxigen Microsoft Windows 95/98/Me (архив) 8 26-11-2008 21:03
[решено] Выбор языка OS UTU Microsoft Windows 2000/XP 6 04-02-2007 23:44
Выбор языка в NSIS melato Автоматическая установка приложений 3 31-03-2006 22:34




 
Переход