Windows 10で、テキストファイルの各行の先頭に行番号を付加したい場合、表示上だけ行番号を付けるなら、サードパーティーのテキストエディタを利用する方法がありますが、テキストファイルそのものに行番号を付けたい場合は、コマンド操作で実現する方法があります。
そこでここでは、WindowsコマンドやPowerShellを使って、テキストファイルの各行の先頭に行番号を付加する方法を紹介します。
目次
動作環境
この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。
ソフトウェア | バージョン |
---|---|
Windows 10 Pro 64bit | 1909 |
テキストファイルに行番号を付加する
指定したテキストファイルの各行の先頭に行番号を付加する方法には、Windowsコマンドで行う方法と、PowerShellで行う方法があります。
- findコマンドを利用する
- findstrコマンドを利用する
- PowerShellを利用する
ここでは、例として「E:\sample.txt」に対して行番号を付加して「E:\result.txt」として保存する方法を紹介します。
「E:\sample.txt」の内容は次のとおりで、文字コードは標準の「UTF-8」です。
findコマンドを利用する
findコマンドを利用して行番号を付加する場合は、コマンドプロンプトを起動して、次のようにコマンドを順に実行します。
> chcp 65001
> type sample.txt | find /v /n "" >result.txt
「result.txt」の内容は、次のとおりです。
findstrコマンドを利用する
findstrコマンドを利用して行番号を付加する場合は、コマンドプロンプトを起動して、次のようにコマンドを実行します。
> findstr /n /r ".*" sample.txt >result.txt
「result.txt」の内容は、次のとおりです。
PowerShellコマンドレットを利用する
PowerShellコマンドレットを利用して行番号を付加する場合は、PowerShellを起動して、次のようにコマンドを実行します。
PS> (Get-Content -Encoding UTF8 -Path "sample.txt") | ForEach-Object{"$($_.ReadCount) $_"} >result.txt
「result.txt」の内容は、次のとおりです。
あとがき
ちなみに、行番号を表示するだけなら「Mery」などのサードパーティーのテキストエディターで実現できます。
また、WSL環境があるなら、Linuxコマンド「nl」「cat」「less」を使って行番号を付加することもできるでしょう。