如何创建一个批处理文件,将 .txt 中的文本插入到新的 txt 中并重复该任务?

如何创建一个批处理文件,将 .txt 中的文本插入到新的 txt 中并重复该任务?

哇,标题太差了,但这就是我想要做的。文本文件 1 包含:

123.com
234.com
567.com

我需要将这些值插入到新文档的 2 个地方,然后移动到下一行并插入。

输出文件如下所示

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; };
};

您可以看到第一个文件中的域被插入到结果中的 2 个位置。我是批处理新手,不知道如何开始。非常感谢您的帮助。

答案1

下面是一个Bashshell 脚本。

#!/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

还有一个适用于和 的Python版本。LinuxWindows

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))

输出:

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; };
                };

相关内容