CMD/BAT - Разбор файла .txt с помощью .bat
-
Armsinglom
CMD/BAT - Разбор файла .txt с помощью .bat
Добрый день.
Помогите написать батник, который бы искал в файле hosts.txt строки где содержаться bc1 или BC1 или bc2 и т.д. и удалял бы все из этого файла кроме IP адресов . Т.е. что бы столовался в итоге чистый файл в котором будут только IP (в столбик). пример файла hosts я приложил.
Помогите написать батник, который бы искал в файле hosts.txt строки где содержаться bc1 или BC1 или bc2 и т.д. и удалял бы все из этого файла кроме IP адресов . Т.е. что бы столовался в итоге чистый файл в котором будут только IP (в столбик). пример файла hosts я приложил.
-
Armsinglom
Re: CMD/BAT - Разбор файла .txt с помощью .bat
IP строк в которых не было bc1 или BC1 или bc2 удалять.
-
DJ Mogarych
Re: CMD/BAT - Разбор файла .txt с помощью .bat
Powershell:
Код:
"Батник" из него:
Код:
Код:
Код: Выделить всё
(gc D:\temp\hosts.txt) -match 'bc\d' -replace '\s.*'"Батник" из него:
Код:
Код: Выделить всё
powershell -command "(gc D:\temp\hosts.txt) -match 'bc\d' -replace '\s.*'"-
Armsinglom
-
Armsinglom
Re: CMD/BAT - Разбор файла .txt с помощью .bat
Подскажите еще, как можно организовать вот это процесс более правильно.
Вообщем суть такая:
Устанавливаю подключение с машиной
Код:
скачиваю файл(содержание scrpt.txt):
Код:
Переименовываю hosts в hosts.txt
Код:
Далее его обрабатываю:
Код:
На выходе получаю файлик hosts2.txt и он прекрасен.
В рамках одной машины и одного файла hosts все работает прекрасно, а как быть если машин 50 штук и в итоге я должен получить один файлик hosts.txt где будут собраны все отобранные IP.
Вообщем суть такая:
Устанавливаю подключение с машиной
Код:
Код: Выделить всё
WinSCP.exe scp://admin:123456@172.33.28.4:22 /hostkey="*" /console /script=U:\questionable\inventascript\test\scrpt.txtскачиваю файл(содержание scrpt.txt):
Код:
Код: Выделить всё
cd /etc
lcd U:\questionable\inventascript\test
get hosts
exitПереименовываю hosts в hosts.txt
Код:
Код: Выделить всё
rename hosts hosts.txtДалее его обрабатываю:
Код:
Код: Выделить всё
(gc U:\questionable\inventascript\test\hosts.txt) -match 'bc\d' -replace '\s.*'|sort -Unique|Out-File 'U:\questionable\inventascript\test\hosts2.txt'На выходе получаю файлик hosts2.txt и он прекрасен.
В рамках одной машины и одного файла hosts все работает прекрасно, а как быть если машин 50 штук и в итоге я должен получить один файлик hosts.txt где будут собраны все отобранные IP.
-
Iska
-
Iska
Re: CMD/BAT - Разбор файла .txt с помощью .bat
Заставить это работать с пулом IP, то есть поочередно скачивать файлы hosts с разных машин, и все схлопывать это в один файл.
-
Armsinglom
Re: CMD/BAT - Разбор файла .txt с помощью .bat
Цитата Armsinglom:
и все схлопывать это в один файл.
В какой момент «схлопывать»?
и все схлопывать это в один файл.
CMD/BAT - Разбор файла .txt с помощью .bat
В какой момент «схлопывать»?
-
DJ Mogarych
Re: CMD/BAT - Разбор файла .txt с помощью .bat
Armsinglom, скачайте все файлы hosts со всех машин под разными именами, положите в каталог, затем просто
Код:
Код:
Код: Выделить всё
(gc U:\questionable\inventascript\test\*.txt) -match 'bc\d' -replace '\s.*'|sort -Unique|Out-File 'U:\questionable\inventascript\test\hosts-all.txt'-
Armsinglom
Re: CMD/BAT - Разбор файла .txt с помощью .bat
Я имею ввиду как не плодить вот это:
Код:
Код:
Код:
А как то подставлять IP из списка. И еще проблема в том что они скачиваются с одинаковым именем, и если в папке есть файл с таким же именем, то он его заменяет.
Код:
Код: Выделить всё
WinSCP.exe scp://admin:123456@172.33.28.4:22 /hostkey="*" /console /script=U:\questionable\inventascript\test\scrpt.txtКод:
Код: Выделить всё
WinSCP.exe scp://admin:123456@172.33.28.5:22 /hostkey="*" /console /script=U:\questionable\inventascript\test\scrpt.txtКод:
Код: Выделить всё
WinSCP.exe scp://admin:123456@172.33.28.6:22 /hostkey="*" /console /script=U:\questionable\inventascript\test\scrpt.txtА как то подставлять IP из списка. И еще проблема в том что они скачиваются с одинаковым именем, и если в папке есть файл с таким же именем, то он его заменяет.