Bash скрипт для создания шаблона сетевой команды - PullRequest
0 голосов
/ 30 марта 2020

Моя цель - создать файл, содержащий сетевую команду, начиная с текстового файла, содержащего некоторый IP-адрес. Например:

Файл с IP-адресами:

1.1.1.1,
2.2.2.2,
3.3.3.3,
......

Из этого списка мне нужно создать новый файл, содержащий 2 типа команд, например:

set security zones security-zone 1 address-book address H-1.1.1.1 1.1.1.1/32 - 
set security zones security-zone 1 address-book address-set GROUP address H-1.1.1.1

Может кто-нибудь помочь мне, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Использование awk.

Версия printf

cat tst.awk

Выход

{ 
  printf "set security zones security-zone 1 address-book address H-%s %s/32 -\nset security zones security-zone 1 address-book address-set GROUP address H-%s\n", $0, $0, $0
}

Версия print.

{
  message = "set security zones security-zone 1 address-book address"
  print message, "H-" $0, $0 "/32", "-"
  print message "-set", "GROUP", "address", "H-" $0
}

Файл

cat file.txt

Выход

1.1.1.1
2.2.2.2
3.3.3.3

Запуск

awk -f tst.awk file.txt > out.txt

Проверка файла out.txt

cat out.txt

Выход

    set security zones security-zone 1 address-book address H-1.1.1.1 1.1.1.1/32 -
    set security zones security-zone 1 address-book address-set GROUP address H-1.1.1.1
    set security zones security-zone 1 address-book address H-2.2.2.2 2.2.2.2/32 -
    set security zones security-zone 1 address-book address-set GROUP address H-2.2.2.2
    set security zones security-zone 1 address-book address H-3.3.3.3 3.3.3.3/32 -
    set security zones security-zone 1 address-book address-set GROUP address H-3.3.3.3
0 голосов
/ 30 марта 2020

Простой l oop с соответствующими перенаправлениями будет делать:

while read IP
do  echo set security zones security-zone 1 address-book address H-$IP $IP/32 -
    echo set security zones security-zone 1 address-book address-set GROUP address H-$IP
done <File >new_file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...