nl comando equivalente in Windows?

Sep 27 2020

So che esiste un'alternativa come http://gnuwin32.sourceforge.net/packages/coreutils.htmo Cygwin in Windows.

Ma esiste un comando integrato in Windows equivalente a Linux nl?

Ecco l'esempio di cat& nlin Linux.

cat - concatena i file e stampa sullo standard output

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

nl - numero di righe di file

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

Risposte

2 ReddyLutonadio Sep 27 2020 at 17:55

Findstr con parametri /ne /rsono quasi equivalenti

  • /n: Stampa il numero di riga di ogni riga che corrisponde.
  • /r: Elabora le stringhe di ricerca come espressioni regolari. Questa è l'impostazione predefinita.

Se usato con i caratteri jolly, dovrebbe leggere ogni riga di un file come fa il nlcomando in Linux.

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

o

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

Trova in combinazione con i parametri /ne /vdovrebbe anche visualizzare i numeri di riga per ogni riga di un file.

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

Se preferisci personalizzare l'output, prova a utilizzare un forciclo:

  • Nella tua riga di comando
set "_i="<nul & for /f tokens^=* %i in (file.txt )do @set /a "_i+=1">nul && <con: ^< nul cmd/v/c "echo\!_i! ^| %i"
  • Nel tuo file 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