首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从Powershell中的文件中删除一行?

如何从Powershell中的文件中删除一行?
EN

Stack Overflow用户
提问于 2022-05-03 00:43:19
回答 1查看 42关注 0票数 1

我在网上发现了一个类似于此的命令

代码语言:javascript
运行
复制
Get-Content .\aws_hosts | Where-Object {$_ -notmatch '([^\.0-9])'} | Set-Content out.txt

所做的就是将行复制到一个out.txt文件中。我正在设法从.\aws_hosts文件中删除一行。

在我的aws_hosts文件中,我希望具体地删除第2行的IP地址,而不是服务器行。

代码语言:javascript
运行
复制
[servers]
35.35.35.25

下面是我所要做的linux版本(它来自Terraform教程,他们正在使用Linux,我只是不知道如何使用Powershell)

代码语言:javascript
运行
复制
sed -i '/^[0-9]/d' aws_hosts
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-03 00:53:13

只需使用与regex相同的sed

代码语言:javascript
运行
复制
Get-Content .\aws_hosts |
  Where-Object { $_ -notmatch '^[0-9]' } | 
    Set-Content out.txt

对于小型文件(大多数文本文件都是),可以简化为:

代码语言:javascript
运行
复制
@(Get-Content .\aws_hosts) -notmatch '^[0-9]' | Set-Content out.txt

这种简化的方法--由于提前完全读取整个输入文件--还允许您像sed -i一样将结果写回同一个文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72093765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档