ip.txt
我有一个包含 IP 地址的txt ( ) 文件。我将它们分组在 TCP 和 UDP 下。文件摘录如下:
#TCP
162.298.38.930
162.298.38.931
162.298.38.932
#UDP
162.298.38.930
162.298.38.931
162.298.38.932
我有一个特定的 IP ( 162.298.38.929
),可以通过 bash 脚本将两者添加到 TCP 和 UDP 行下的 ip.txt 中,所以它应该像这样。
#TCP
162.298.38.929
162.298.38.930
162.298.38.931
162.298.38.932
#UDP
162.298.38.929
162.298.38.930
162.298.38.931
162.298.38.932
我怎样才能在 bash 脚本中实现这一点?行号不适用于我的情况,因为 #TCP 和 #UDP 行号可能会更改,因为我在文件中添加了很多注释。 Bash 脚本应该在 TCP 和 UDP 下搜索并添加 IP。
答案1
使用 GNU Sed 的追加操作
假设两个部分都有162.298.38.932
, 并且您想要在两个条目的正下方附加另一个 IP 地址,则以下 sed 脚本可以完成这项工作。
sed '/162\.298\.38\.932/a\162.298.38.929' ip.txt