我在网上找到了一个类似的命令
Get-Content .\aws_hosts | Where-Object {$_ -notmatch '([^\.0-9])'} | Set-Content out.txt
所做的只是把这条线复制到一个输出端。txt文件。我想知道如何从列表中删除一行。\aws_托管文件。
在我的aws_hosts文件中,我想特别删除第2行的IP地址,而不是[servers]行
[servers] 35.35.35.25
以下是我尝试做的linux版本(来自Terraform教程,他们正在使用linux,我就是不知道如何使用Powershell)
sed -i '/^[0-9]/d' aws_hosts
用同样的 regex 和你一样 sed :
sed
Get-Content .\aws_hosts | Where-Object { $_ -notmatch '^[0-9]' } | Set-Content out.txt
对于较小的文件(大多数文本文件都是),可以简化为:
@(Get-Content .\aws_hosts) -notmatch '^[0-9]' | Set-Content out.txt
这种简化的方法——由于读取整个输入文件 全部 提前-还允许您将结果写回同一个文件,如下所示: sed -i 将
sed -i