commande équivalente nl dans windows?
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
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
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