ZBLOG

golang实现,初始文件内容为 ens9@192.168.201.101/24,192.168.201.103/24,192.168.201.104/24,192.168.201.105/24 ens3@172.21.33.145/16 ens10@192.168.202.101/24 要求删除文件中的ens9@192.168.201.105/24,最后的结果如下 ens9@192.168.201.101/24,192.168.201.103/24,192.168.201.10...

下面是使用 Golang 实现删除文件中的 ens9@192.168.201.105/24 的代码:

  1. package main
  2. import (
  3. "bufio"
  4. "fmt"
  5. "os"
  6. "strings"
  7. )
  8. func removeIPFromLine(line, ip string) string {
  9. ipList := strings.Split(line, ",")
  10. if len(ipList) > 1 {
  11. for i, item := range ipList {
  12. if strings.TrimSpace(item) == ip {
  13. ipList = append(ipList[:i], ipList[i+1:]...)
  14. break
  15. }
  16. }
  17. return strings.Join(ipList, ",")
  18. }
  19. return ""
  20. }
  21. func main() {
  22. filePath := "path/to/your/file.txt" // 替换为实际的文件路径
  23. ipToDelete := "192.168.201.105/24"
  24. file, err := os.Open(filePath)
  25. if err != nil {
  26. fmt.Printf("Error opening file: %s\n", err.Error())
  27. return
  28. }
  29. defer file.Close()
  30. scanner := bufio.NewScanner(file)
  31. var updatedLines []string
  32. for scanner.Scan() {
  33. line := scanner.Text()
  34. if strings.HasPrefix(line, "ens9") && strings.Contains(line, ipToDelete) {
  35. line = removeIPFromLine(line, ipToDelete)
  36. if line == "" {
  37. continue
  38. }
  39. }
  40. updatedLines = append(updatedLines, line)
  41. }
  42. if scanner.Err() != nil {
  43. fmt.Printf("Error scanning file: %s\n", scanner.Err().Error())
  44. return
  45. }
  46. outputFile, err := os.Create(filePath)
  47. if err != nil {
  48. fmt.Printf("Error creating output file: %s\n", err.Error())
  49. return
  50. }
  51. defer outputFile.Close()
  52. writer := bufio.NewWriter(outputFile)
  53. for _, line := range updatedLines {
  54. fmt.Fprintln(writer, line)
  55. }
  56. writer.Flush()
  57. fmt.Println("File updated successfully!")
  58. }

请将 path/to/your/file.txt 替换为实际的文件路径。运行上述代码后,它将打开指定文件,逐行检查并删除包含 ens9@192.168.201.105/24 的记录(如果存在多条),或者删除整行(如果仅存在一条)。最后,将更新后的内容写回到原始文件中。

确保根据实际需求修改代码和文件路径,并在运行之前备份原始文件。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=17760

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?