在powershell中使用匹配模式替换数据
我的目标是得到如下输出在powershell中使用匹配模式替换数据,powershell,pattern-matching,powershell-2.0,Powershell,Pattern Matching,Powershell 2.0,我的目标是得到如下输出 $Gateway = "192.168.122.1" $Ip = "172.18.66.34" $IP的前3个八位字节和$Gateway的第4个八位字节…两者的组合 我在下面试过了,但没有任何其他逻辑来实现这一点 172.18.66.1 $Gateway-match“\d{1,3}\.\d{1,3}\.\d{1,3}\.(?) $fourth=$matches['content'] $mgmt=“172.18.47.19” $mgmt-匹配“\d{1,3}\.\d{1
$Gateway = "192.168.122.1"
$Ip = "172.18.66.34"
$IP的前3个八位字节和$Gateway的第4个八位字节…两者的组合
我在下面试过了,但没有任何其他逻辑来实现这一点
172.18.66.1
$Gateway-match“\d{1,3}\.\d{1,3}\.\d{1,3}\.(?)
$fourth=$matches['content']
$mgmt=“172.18.47.19”
$mgmt-匹配“\d{1,3}\.\d{1,3}\.\d{1,3}\.(?*)”
$new=$matches['content']
$mgmt.更换($new,$FIRST)
您忘记在“内容”类别中填写模式
试试这个:
$Gateway -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.(?<content>)"
$fourth = $matches['content']
$mgmt = "172.18.47.19"
$mgmt -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.(?<content>.*)"
$new = $matches['content']
$mgmt.replace($new,$fourth)
$Gateway-匹配“\d{1,3}\.\d{1,3}\.\d{1,3}\.(?\d{1,3})”
您忘记在“内容”类别中填写模式
试试这个:
$Gateway -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.(?<content>)"
$fourth = $matches['content']
$mgmt = "172.18.47.19"
$mgmt -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.(?<content>.*)"
$new = $matches['content']
$mgmt.replace($new,$fourth)
$Gateway-匹配“\d{1,3}\.\d{1,3}\.\d{1,3}\.(?\d{1,3})”
您忘记在“内容”类别中填写模式
试试这个:
$Gateway -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.(?<content>)"
$fourth = $matches['content']
$mgmt = "172.18.47.19"
$mgmt -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.(?<content>.*)"
$new = $matches['content']
$mgmt.replace($new,$fourth)
$Gateway-匹配“\d{1,3}\.\d{1,3}\.\d{1,3}\.(?\d{1,3})”
您忘记在“内容”类别中填写模式
试试这个:
$Gateway -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.(?<content>)"
$fourth = $matches['content']
$mgmt = "172.18.47.19"
$mgmt -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.(?<content>.*)"
$new = $matches['content']
$mgmt.replace($new,$fourth)
$Gateway-匹配“\d{1,3}\.\d{1,3}\.\d{1,3}\.(?\d{1,3})”
可能很原始,但可以完成任务
$Gateway -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.(?<content>\d{1,3})"
在powershell 2上工作
这就是你的意思吗?可能很原始,但这工作做得好吗
$Gateway -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.(?<content>\d{1,3})"
在powershell 2上工作
这就是你的意思吗?可能很原始,但这工作做得好吗
$Gateway -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.(?<content>\d{1,3})"
在powershell 2上工作
这就是你的意思吗?可能很原始,但这工作做得好吗
$Gateway -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.(?<content>\d{1,3})"
在powershell 2上工作
这就是你的意思吗?我知道它不是regex,但这是向你介绍类型
[ipaddress]
($Ip -split "\.")[0],($Ip -split "\.")[1],($Ip -split "\.")[2],($Gateway -split "\.")[-1] -join "."
172.18.66.1
我们使用方法
.GetAddressBytes()
来分解八位字节,然后使用数组表示法、串联和简单的-join
将地址改为您的标准地址。我知道它不是正则表达式,但这是向您介绍类型[ipaddress]
($Ip -split "\.")[0],($Ip -split "\.")[1],($Ip -split "\.")[2],($Gateway -split "\.")[-1] -join "."
172.18.66.1
我们使用方法
.GetAddressBytes()
来分解八位字节,然后使用数组表示法、串联和简单的-join
将地址改为您的标准地址。我知道它不是正则表达式,但这是向您介绍类型[ipaddress]
($Ip -split "\.")[0],($Ip -split "\.")[1],($Ip -split "\.")[2],($Gateway -split "\.")[-1] -join "."
172.18.66.1
我们使用方法
.GetAddressBytes()
来分解八位字节,然后使用数组表示法、串联和简单的-join
将地址改为您的标准地址。我知道它不是正则表达式,但这是向您介绍类型[ipaddress]
($Ip -split "\.")[0],($Ip -split "\.")[1],($Ip -split "\.")[2],($Gateway -split "\.")[-1] -join "."
172.18.66.1
我们使用方法
.GetAddressBytes()
来分解八位字节,然后只使用数组表示法、串联和简单的-join
将地址改为您的标准地址。$IP
从未使用过。示例应该只包括必要的代码。一行代码..$Ip.Split('.')| select-Index(0..2)|和{$ofs='.';“$input”}| select@{name=“ModifiedIp”;expression={$\+'+$Gateway.Split('.')[3]}。我正在使用powershell 2.0。。。。我们不能使用分割法…:($IP
从未使用过。示例应该只包含必要的代码。一行代码..$IP.Split('.')选择-索引(0..2)|和{$ofs='.';“$input”}选择@{name=“ModifiedIp”;表达式={$\+'+$Gateway.Split('.[3]}我正在使用powershell 2.0…,我们不能使用Split方法…:($IP
从未使用过。示例应该只包含必要的代码。一行代码..$IP.Split('.')选择-索引(0..2)|和{$ofs='.';“$input”}选择@{name=“ModifiedIp”;表达式={$\+'+$Gateway.Split('.[3]}我正在使用powershell 2.0…,我们不能使用Split方法…:($IP
从未使用过。示例应该只包含必要的代码。一行代码..$IP.Split('.')选择-索引(0..2)|和{$ofs='.';“$input”}选择@{name=“ModifiedIp”;表达式={$\+'+$Gateway.Split('.[3]}我正在使用powershell 2.0…,我们不能使用Split方法…:(