从bash到PowerShell的awk

我想将主机端口5000映射到minikube端口。该命令已经可以在bash中使用了,但是现在我在PowerShell中需要它。

我已经将bash命令更改为“ PowerShell中的代码”,现在只需要替换awk命令。

Bash中的代码

kubectl port-forward --namespace kube-system $(kubectl get po -n kube-system | grep kube-registry-v0 | awk '{print $1;}') 5000:5000

PowerShell中的代码(awk将被替换)

kubectl port-forward --namespace kube-system $(kubectl get po -n kube-system | Select-String -Pattern "kube-registry-v0" | awk '{print $1;}') 5000:5000
xuehua1911 回答:从bash到PowerShell的awk

这是一种方法。选择字符串实际上返回具有多个属性的对象,而line属性具有字符串。

kubectl port-forward --namespace kube-system (kubectl get po -n kube-system |
  Select-String kube-registry-v0 | 
  foreach { -split $_.line | select -index 0} ) 5000:5000

另一种方法,使用where或where-object,并使用数组索引[0]表示法:

kubectl port-forward --namespace kube-system (kubectl get po -n kube-system |
  where { $_ -match 'kube-registry-v0' } | 
  foreach { (-split $_)[0] ) 5000:5000

关于awk和powershell的类似帖子:Awk command to Powershell equivalent

本文链接:https://www.f2er.com/3159637.html

大家都在问