在大文件上选择-first 1

ca9*_*3d9 8 powershell

我试图在一个非常大的文本文件上运行以下命令.但是,它很慢

((cat largefile.txt | select -first 1).split(",")).count()
Run Code Online (Sandbox Code Playgroud)

在PowerShell中是另一种快速方式吗?似乎命令将扫描整个文件,无论如何.

jon*_*n Z 12

要仅获取文本文件中的前x行数,请使用-totalcount参数:

((Get-Content largefile.txt -totalcount 1).split(",")).count
Run Code Online (Sandbox Code Playgroud)


Ari*_*iac 9

它比这更糟糕 - 它将加载整个文件并将其转换为字符串数组.

使用本机.NET库只加载第一行:

$reader = [System.IO.File]::OpenText("largefile.txt")
$line = $reader.ReadLine()
$reader.Close()
Run Code Online (Sandbox Code Playgroud)

(借鉴了如何以Powershell的形式逐行处理文件)