如果以行开头,则从文本文件中删除行

时间:2014-01-14 08:41:55

标签: powershell

我有大量包含无效记录的文本文件。

我想删除第一个字段为空的所有行。文件分隔符是波形符号,所以基本上我想删除第一个字符为〜

的所有行

有人可以协助使用PowerShell代码 - 我似乎无法正确使用它。

2 个答案:

答案 0 :(得分:8)

只需在评论中添加答案部分作为答案,以便人们可以看到问题已得到解答。

提出问题的人的解决方案是:

Get-Content file.txt | Where { $_ -notmatch "^~" } | Set-Content filteredfile.txt

请注意,请注意潜在的编码问题。如果您需要指定编码,Get-ContentSet-Content方法都有一个-Encoding参数,您可以使用该参数指定编码。

答案 1 :(得分:0)

我认为你也可以这样做:

sls -n '^~' file.txt | set-content filtered.txt