
Linux では、コマンドを使用して、行番号の付いたファイルを簡単に表示できますcat -n
。
sh-4.4$ cat test
line 1
line 2
line 3
sh-4.4$
sh-4.4$ cat test -n
1 line 1
2 line 2
3 line 3
sh-4.4$
Windows ではどうでしょうか? 同様の出力を生成する同様のコマンドはありますか?
type
ファイルの内容を表示するための Windows コマンドの 1 つです。
C:\>type test.txt
line 1
line 2
line 3
C:\>
-n
しかし、そこには選択肢がありません。
C:\>type /?
Displays the contents of a text file or files.
TYPE [drive:][path]filename
C:\>
これがWindowsに期待していることです
C:\>(windows command to view and print line number) test.txt
1 line 1
2 line 2
3 line 3
C:\>
答え1
サードパーティのツールをインストールしなくても、Powershell を使用してこれを行うことができますが、以下に示すように、スクリプトが少し複雑になります。このスクリプトの優れた点は、出力を生成する任意の DOS コマンドで機能することです。
$i = 1; 猫の餌.txt | % {$i++;"$($i-1) `t $_"}
注記:cat
スクリプトに見られるように、Powershell には コマンドがありますが、行番号がありません。これは PowerShell コマンドのエイリアスですget-content
。
出力は次のとおりです。
1 Apples
2 Bananas
3 Carrots
dir
以下は、スクリプトを実行するだけでディレクトリを一覧表示する例です。
$i = 1;ディレクトリ | % {$i++;"$($i-1) `t $_"}
出力は次のとおりです。
1 backgrounds
2 boot
3 inetpub
4 PerfLogs
5 Program Files
6 Program Files (x86)
7 Riot Games
8 Users
9 Windows
10 Reflect_Install.log
行番号を0から開始したい場合は、$i = 0を設定します。
あるいは、Windowsにサードパーティのcat
プログラムをインストールすることもできます。Windowsに移植されたUNIXコマンドは数多くあります。シグウィンそしてGNUWin32 の。
Cygwin の基本インストール後:
C:\cygwin64\bin\cat -n food.txt
出力:
1 apple
2 banana
3 bread
4 cake
答え2
Windows版のcat -nに相当するコマンドは次の通りです。
findstr /n . "C:\Temp\myfile.txt"
は行/n
番号を表示します。 は、.
空白行にも一致する正規表現です。
そのコマンドが実際に何をするのかを読者にもっと明確に伝えるには、次のようにします。
findstr.exe /n /r ".*"