大量のテキストファイルの行数を高速に数える方法 (Windows)

2023年2月4日土曜日

PowerShell

t f B! P L

Windowsでテキストファイルの行数を数える方法を紹介する。

「行数を数えるなんて、普通にエディタで開いて見ればいいじゃん!」という声が聞こえてきそうであるが、数百万レベルの巨大なテキストファイルの場合、エディタで開けないか、もしくは開くのに非常に時間がかかる。そんな時に PowerShell を使えば、手軽でかつ短時間で行数をカウントできる。

スポンサーリンク

方法1:Get-Contentを使う

PowerShell の Get-Content コマンドレットは、テキストファイルの各行の内容を配列で取得できる。そのため、Get-Content で読み込んだ配列に対して Length を取れば、ファイルの行数を数えることができる。

(Get-Content -Path <ファイル名>).Length

【実行結果】

約 50万行のテキストファイルを用意して、実際に試した結果が以下である。

PS C:\temp> (Get-Content -Path sample.txt).Length
500000

【実行時間】

約 10秒

正直、微妙に時間かかります。テキストエディタで開くと 20秒近くかかったので、まぁ早い方だと思います。

方法2: find (Windowsコマンド)

find コマンドを使うのが、おそらく最速の方法である。
ちなみに、find コマンドは PowerShell ではなく、Windows 標準のコマンドである。

find で行数を数えるコマンドは次のとおり。

find /v /c "" <ファイル名>

【実行結果】

前と同じように約 50万行のテキストファイルを用意して、実際に試した結果が以下である。

PS C:\temp> (Get-Content -Path sample.txt).Length
500000

【実行時間】

約 1秒

早い! これなら、さらに膨大な行のテキストファイルでも、素早くカウントできそう。

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ