Comando equivalente nl no windows?

Sep 27 2020

Eu sei que existe uma alternativa como http://gnuwin32.sourceforge.net/packages/coreutils.htmou Cygwin no Windows.

Mas existe algum comando integrado no Windows equivalente ao Linux nl?

Aqui está o exemplo de cat& nlno Linux.

cat - concatena arquivos e imprime na saída padrão

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

nl - número de linhas de arquivos

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

Respostas

2 ReddyLutonadio Sep 27 2020 at 17:55

Findstr with /ne os /rparâmetros são quase equivalentes

  • /n: Imprime o número da linha de cada linha correspondente.
  • /r: Processa strings de pesquisa como expressões regulares. Esta é a configuração padrão.

Se usado com curingas, deve ler cada linha de um arquivo como o nlcomando faz no Linux.

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

ou

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

Find em combinação com os parâmetros /ne /vtambém deve exibir os números das linhas para cada linha de um arquivo.

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

Se você preferir personalizar a saída, tente usar um forloop:

  • Em sua linha de 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"
  • Em seu arquivo 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