以下是使用Golang实现在一个函数内删除指定IP的代码示例:
package main
import (
"fmt"
"io/ioutil"
"strings"
)
func removeIPFromFile(filePath, ipToDelete string) error {
content, err := ioutil.ReadFile(filePath)
if err != nil {
return err
}
lines := strings.Split(string(content), "\n")
var updatedLines []string
for _, line := range lines {
if strings.HasPrefix(line, "ens9") {
tokens := strings.Split(line, ",")
var updatedTokens []string
for _, token := range tokens {
if !strings.Contains(token, ipToDelete) {
updatedTokens = append(updatedTokens, token)
}
}
if len(updatedTokens) > 0 {
updatedLine := strings.Join(updatedTokens, ",")
updatedLines = append(updatedLines, updatedLine)
}
} else if !strings.HasPrefix(line, "ens9") || line != "" {
updatedLines = append(updatedLines, line)
}
}
updatedContent := strings.Join(updatedLines, "\n")
err = ioutil.WriteFile(filePath, []byte(updatedContent), 0644)
if err != nil {
return err
}
return nil
}
func main() {
filePath := "path/to/your/file.txt" // 替换为实际的文件路径
ipToDelete := "192.168.201.105/24"
err := removeIPFromFile(filePath, ipToDelete)
if err != nil {
fmt.Printf("Error removing IP: %s\n", err.Error())
return
}
fmt.Println("IP removed successfully!")
}
请将 filePath
替换为您实际的文件路径。该函数会读取文件内容,逐行检查每一行是否以 "ens9"
开头。如果是,则会拆分该行中的IP地址,并删除要删除的IP。最后,它将更新后的内容写回到原始文件中。
注意:在运行之前,请确保根据实际需求修改代码和文件路径,并备份原始文件。
内容由零声教学AI助手提供,问题来源于学员提问