使用PowerShell获取大文件的前n个字符

时间:2013-09-21 17:29:35

标签: powershell

我有一个巨大的XML文件(0.5 GB),没有换行符。我希望能够在不打开整个文件的情况下查看前200个字符。有没有办法用PowerShell做到这一点?

3 个答案:

答案 0 :(得分:12)

您可以使用Get-Content在字节级别读取,如下所示:

$bytes = Get-Content .\files.txt -Encoding byte -TotalCount 200
[System.Text.Encoding]::Unicode.GetString($bytes)

如果日志文件是ASCII,您可以将其简化为:

[char[]](Get-Content .\files.txt -Encoding byte -TotalCount 200)

答案 1 :(得分:0)

Get-Content采用-ReadCount选项,因此您只能使用前X行。

如果你真的想要字符粒度,你需要使用.NET中的[IO.File] :: Read方法之一

答案 2 :(得分:-1)

(获取内容myfile).Substring(0,x)

其中x是每行中所需的字符数,例如 $ lines =(get-content myfile)。Substring(0,10)将返回一个字符串数组,该数组的每个成员都包含myfile中每行的前10个字符。