我抓住了我的腦袋,似乎這種需求可能很普遍,但我無法在Web上找到任何示例。解析文本文件以匹配字符串並提取值(在Golang中)
我有一個這樣的文件:
answer VNET_1_DHCP yes
answer VNET_1_DHCP_CFG_HASH 4CF2C196E368CE83B9D1895C5E05301CDFDEBCA0
answer VNET_1_HOSTONLY_NETMASK 255.255.255.0
answer VNET_1_HOSTONLY_SUBNET 192.168.224.0
answer VNET_1_VIRTUAL_ADAPTER yes
answer VNET_8_DHCP yes
answer VNET_8_DHCP_CFG_HASH D326C0BC7FF6C38C57AF341F9075E576C175B250
answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
answer VNET_8_HOSTONLY_SUBNET 172.16.102.0
answer VNET_8_NAT yes
answer VNET_8_VIRTUAL_ADAPTER yes
我需要提取特定子網(192.168.224.0)的VNET數。 VNET號碼可能會有所不同(理論上,子網可能甚至不存在)。因此,如果子網存在,則需要匹配,如果存在,則提取網絡號(本例中爲1
)。
我發現它是超級容易在BASH來實現這一點:
if grep -q 192.168.224.0 ./networking; then
echo "The ${VMNET_SUBNET} network already exists"
NETWORK_NUMBER=$(grep ${VMNET_SUBNET} ./networking | cut -d'_' -f 2)
echo NETWORK_NUMBER
else <do something to create it.....>
我試圖找到實現這個使用的最便捷方式。
謝謝。
顯然:VMNET_SUBNET =「192.168.224.0」在 – mreferre