commande équivalente nl dans windows?

Sep 27 2020

Je sais qu'il existe une alternative telle que http://gnuwin32.sourceforge.net/packages/coreutils.htmou Cygwin sous Windows.

Mais existe-t-il une commande intégrée dans Windows équivalente à Linux nl?

Voici l'exemple de cat& nlsous Linux.

cat - concatène les fichiers et imprime sur la sortie standard

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

nl - nombre de lignes de fichiers

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

Réponses

2 ReddyLutonadio Sep 27 2020 at 17:55

Findstr avec les paramètres /net /rsont presque équivalents

  • /n: Imprime le numéro de ligne de chaque ligne qui correspond.
  • /r: Traite les chaînes de recherche comme des expressions régulières. Ce sont les paramètres par défauts.

S'il est utilisé avec des caractères génériques, il doit lire chaque ligne d'un fichier comme la nlcommande le fait sous Linux.

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

ou

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

Rechercher en combinaison avec les paramètres /net /vdoit également afficher les numéros de lignes pour chaque ligne d'un fichier.

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

Si vous préférez personnaliser la sortie, essayez d'utiliser une forboucle:

  • Dans votre ligne de commande
set "_i="<nul & for /f tokens^=* %i in (file.txt )do @set /a "_i+=1">nul && <con: ^< nul cmd/v/c "echo\!_i! ^| %i"
  • Dans votre fichier 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