Windowsのnl同等のコマンド?

Sep 27 2020

私は次のような代替手段があることを知っています http://gnuwin32.sourceforge.net/packages/coreutils.htmまたはWindowsのCygwin。

しかし、Linuxと同等のWindowsの組み込みコマンドはありますnlか?

Linuxでのcat&の例を次に示しnlます。

猫-標準出力にCONCATENATEファイルと印刷

wolf@linux:~$ cat file.txt line 1 line 2 line 3 wolf@linux:~$ 

NL -ファイルの数ライン

wolf@linux:~$ nl file.txt 1 line 1 2 line 2 3 line 3 wolf@linux:~$ 

回答

2 ReddyLutonadio Sep 27 2020 at 17:55

/nと/rパラメータを持つFindstrはほぼ同等です

  • /n:一致する各行の行番号を出力します。
  • /r:検索文字列を正規表現として処理します。これがデフォルト設定です。

ワイルドカードとともに使用する場合nl、Linuxでのコマンドと同様に、ファイルの各行を読み取る必要があります。

findstr /n /r ^.*$ file.txt

または

findstr /n /r ^?*$ file.txt

/nおよび/vパラメータと組み合わせて検索すると、ファイルの各行の行番号も表示されます。

find /n /v "" file.txt
ItWasn'tMe Sep 30 2020 at 07:53

出力をカスタマイズしたい場合は、forループを使用してみてください。

  • コマンドラインで
set "_i="<nul & for /f tokens^=* %i in (file.txt )do @set /a "_i+=1">nul && <con: ^< nul cmd/v/c "echo\!_i! ^| %i"
  • bat / cmdファイル内:
@echo off && setlocal

set "_i="<nul & for /f tokens^=* %%i in (file.txt
)do set /a "_i+=1" && <con: ^< nul cmd /v /c "echo\!_i!  ^|  %%i"

endlocal & goto=:EOF