Howe通过PowerShell编辑文件的第一行或第二行?

现在我使用get-content获取文件的内容,我需要编辑一些行。 例如,更改第二行:

之前:

line2: hello Everyone! 

后:

 line2: Hello Mr. Brown! 

我可以使用哪个cmdlet?

 $file = Get-Content myfile.txt $file | ForEach-Object { if ($_.ReadCount 2) { $_ -replace '\w+','Hello Mr. Brown!' } else { $_ } } | Set-Content myfile.txt 

这将改变整个行(在ReadCount指定)到Hello Mr. Brown! 。 一定要使用PowerShell 2.0+。

如果内容足够独特,则replace应用于所有行(但只会匹配您感兴趣的行)。

否则将整个文件加载到一个集合中,并更新第二个元素(索引1)。

如果文件足够大,一次加载整个文件到内存中是一个问题,那么将需要更聪明的东西…。