Como eu crio um arquivo de lote para inserir texto de um arquivo .txt para um novo texto e repetir a tarefa?

1

uau, título ruim, mas aqui está o que eu estou procurando fazer. Text-file-1 contém:

123.com
234.com
567.com

Eu preciso que esses valores sejam inseridos em um novo documento em dois lugares, e eles passem para a próxima linha e insiram.

O arquivo de saída ficaria assim

zone "123.com" IN {
    type master;
    file "/etc/bind/zones/db.123.com";
allow-update { none; };allow-transfer {10.10.10.10; };
};


zone "234.com" IN {
    type master;
    file "/etc/bind/zones/db.234.com";
allow-update { none; };allow-transfer {10.10.10.10; };
};


zone "567.com" IN {
    type master;
    file "/etc/bind/zones/db.567.com";
allow-update { none; };allow-transfer {10.10.10.10; };
};

Você pode ver que o domínio do primeiro arquivo é inserido em 2 pontos no resultado. Eu sou novo em lotes e não tenho idéia de como começar isso. Qualquer ajuda verdadeiramente apreciada.

    
por wood9663 29.10.2014 / 01:18

1 resposta

0

Abaixo está um script de shell Bash .

#!/bin/bash

while read line
do
    cat <<RECORD
    zone "${line}" IN {
        type master;
            file "/etc/bind/zones/db.${line}";
        allow-update { none; };allow-transfer {10.10.10.10; };
    };

RECORD
done < Text-file-1

E uma versão Python para Linux e Windows .

text = r"""
zone "%s" IN {
            type master;
                file "/etc/bind/zones/db.%s";
                allow-update { none; };allow-transfer {10.10.10.10; };
                };
"""

lines = [ x.strip() for x in open('Text-file-1').readlines() ]

for line in lines:
    print(text % (line, line))

Saída:

zone "123.com" IN {
            type master;
                file "/etc/bind/zones/db.123.com";
                allow-update { none; };allow-transfer {10.10.10.10; };
                };


zone "234.com" IN {
            type master;
                file "/etc/bind/zones/db.234.com";
                allow-update { none; };allow-transfer {10.10.10.10; };
                };


zone "567.com" IN {
            type master;
                file "/etc/bind/zones/db.567.com";
                allow-update { none; };allow-transfer {10.10.10.10; };
                };
    
por 03.12.2014 / 01:52

Tags