nl äquivalenter Befehl in Windows?
Sep 27 2020
Ich weiß, dass es eine Alternative gibt wie http://gnuwin32.sourceforge.net/packages/coreutils.htmoder Cygwin in Windows.
Aber gibt es in Windows einen eingebauten Befehl, der Linux entspricht nl?
Hier ist das Beispiel von cat& nlunter Linux.
cat - verkettet Dateien und druckt auf der Standardausgabe
wolf@linux:~$ cat file.txt line 1 line 2 line 3 wolf@linux:~$
nl - Anzahl der Zeilen von Dateien
wolf@linux:~$ nl file.txt 1 line 1 2 line 2 3 line 3 wolf@linux:~$
Antworten
2 ReddyLutonadio Sep 27 2020 at 17:55
Findstr mit /nund /rParameter sind nahezu gleichwertig
/n: Druckt die Zeilennummer jeder übereinstimmenden Zeile./r: Verarbeitet Suchzeichenfolgen als reguläre Ausdrücke. Dies ist die Standardeinstellung.
Bei Verwendung mit Platzhaltern sollte jede Zeile einer Datei wie unter nlLinux gelesen werden .
findstr /n /r ^.*$ file.txt
oder
findstr /n /r ^?*$ file.txt
Suchen in Kombination mit den Parametern /nund /vsollte auch Zeilennummern für jede Zeile einer Datei anzeigen.
find /n /v "" file.txt
ItWasn'tMe Sep 30 2020 at 07:53
Wenn Sie die Ausgabe lieber anpassen möchten, verwenden Sie eine forSchleife:
- In Ihrer Befehlszeile
set "_i="<nul & for /f tokens^=* %i in (file.txt )do @set /a "_i+=1">nul && <con: ^< nul cmd/v/c "echo\!_i! ^| %i"
- In Ihrer bat / cmd-Datei:
@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