从 bash 替换 ssh 配置上的主机名

问题描述 投票:0回答:1

我正在尝试替换以下 ssh 配置的

HostName
上存储的 IP,与上面的
Host
相匹配。

Host my_host_1
    User user
    HostName 1.0.3.4
    Port 22
    IdentityFile /some/path
    ProxyCommand ssh user@something -W %h:%p

Host my_host_2
    User user
    HostName 1.0.3.5
    Port 22
    IdentityFile /some/path
    ProxyCommand ssh user@something -W %h:%p

例如

my_host_2
的主机替换为
4.3.2.1

我尝试使用以下正则表达式隔离 IP(有效)。

/(?<=HostName )\d.\d.\d.\d/gm

但是我无法查看后面的几行来对

Host
值设定条件。

bash
1个回答
0
投票

类似这样的事情

s/(Host\s+my_host_2.+HostName )\d+.\d+.\d+.\d+/$1 4.3.2.1/gm

© www.soinside.com 2019 - 2024. All rights reserved.