我有一个文件(让我们称之为input.txt
),其中包含
hostname.domain.com 111.222.333.444
hostname2.domain.com 555.666.777.888
...
并且大约有900行。
然后我有一个配置文件的节,它是
<Host "hostname.domain.com">
Address "111.222.333.444"
Version 1
Community "more_communities"
Collect "powerplus"
Interval 300
</Host>
如何解析input.txt
文件,使其主机名和IP进入正确的字段,并将其余部分放入文本文件中?
答案 0 :(得分:2)
如果你完全描述了这种情况,那么你不需要比简单的shell脚本更复杂的东西:
#!/bin/sh
while read -r host ip _; do
printf '<Host "%s">\n' "$host"
printf ' Address "%s"\n' "$ip"
echo ' Version 1'
echo ' Community "more_communities"'
echo ' Collect "powerplus"'
echo ' Interval 300'
echo '</Host>'
done < input.txt > output.txt
请注意,我假设这是一个Apache httpd配置文件,而不是XML。
答案 1 :(得分:2)
#!/bin/bash
while read -r host number; do
cat << EOF >> output.txt
<Host "$host">
Address "$number"
Version 1
Community "more_communities"
Collect "powerplus"
Interval 300
</Host>
EOF
done < input.txt