Obwohl Sie dies als bash markiert haben, sieht dies tatsächlich wie ein Windows- Stapel aus .
Sie können in einer einzelnen Zeile nicht das tun, was Sie möchten. Daher müssen Sie eine Batch-Datei erstellen.
Hier ist die Batchdatei, die ich mir ausgedacht habe:
@ECHO off SETLOCAL EnableDelayedExpansion for /f "tokens=*" %%a in (input.txt) do ( CALL :GetNumber %%a echo "!num!",%%a ) >> output.txt :GetNumber for /f "tokens=1 delims=." %%a in (%1) do ( set "num=%%a" )
Fügen Sie diesen Code ein filename.bat
und führen Sie ihn in demselben Verzeichnis wie Ihre input.txt
Datei aus.
Dies bewirkt mehrere Dinge:
- Aktiviert die verzögerte Erweiterung, um eine variable Verarbeitung innerhalb der
FOR
Schleife zu ermöglichen. - Verwendet eine Subroutine, um die aktuelle Zeile zu verarbeiten
- Setzen Sie eine Umgebungsvariable auf die Nummer, nach der Sie suchen (da Batch keine Funktionen mit systemeigenen
return
Anweisungen hat) - Geben Sie die Zeile wie gewünscht aus.