Textdatei auslesen und bearbeiten
Hallo zusammen,
ich habe eine ewig lange Textdatei und muss diese bearbeiten
Die Textdatei sehe ungefähr so aus:
Die ersten 8 Zeilen müssten ignoriert werden und danach müsste in jeder Zeile nach der Zahl mit "G" gesucht werden und diese dann vorne nach dem zweiten ";" ersetzt werden.
Beispiel:
Ziel:
Ich denke mal, dass es mit Powershell am einfachsten umzusetzen wäre.
Aber dafür bin ich zu wenig in Powershell bewandert.
CMD wäre mir auch recht, aber da denke ich, wird es nicht so leicht gehen.
Bin um jede Hilfe dankbar
ich habe eine ewig lange Textdatei und muss diese bearbeiten
Die Textdatei sehe ungefähr so aus:
# INFO Beispiel
000001111118;;20;;;
000009999992;;20;;;
000008888884;;1;;;
000005555550;;22;;;
000004444442;;1;;1111111111|2222222222|3333333333|4444444444|5555555555|6666666666|7777777777|8888888888|9999999999|0000000000|;
0002222226;;20;;;
000006666019;;01;;||||||||||;
203950223479;16;02;1000000001;G01 ||||||||||;
203950121539;16;04;1000000002;G01 ||||||||||;
204540772315;16;13;1000000003;G03 ||||||||||;
204540772308;;18;1000000003;G01 ||||||||||;
204540772612;16;09;1000000004;G05 ||||||||||;
204540772605;;01;1000000004;G01 ||||||||||;
204540772643;16;02;1000000005;G01 ||||||||||;
204540772636;;02;1000000005;G03 ||||||||||;
204540772674;16;05;1000000006;G01 ||||||||||;
204540772667;;06;1000000006;G20 ||||||||||;
204540772704;16;12;1000000007;G14 ||||||||||;
204540772698;;11;1000000007;G01 ||||||||||;
....
....
Die ersten 8 Zeilen müssten ignoriert werden und danach müsste in jeder Zeile nach der Zahl mit "G" gesucht werden und diese dann vorne nach dem zweiten ";" ersetzt werden.
Beispiel:
204540772315;16;13;1000000003;G01 ||||||||||;
204540772308;;18;1000000003;G01 ||||||||||;
204540772315;16;01;1000000003;G01 ||||||||||;
204540772308;;01;1000000003;G01 ||||||||||;
Ich denke mal, dass es mit Powershell am einfachsten umzusetzen wäre.
Aber dafür bin ich zu wenig in Powershell bewandert.
CMD wäre mir auch recht, aber da denke ich, wird es nicht so leicht gehen.
Bin um jede Hilfe dankbar
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2004455166
Url: https://administrator.de/contentid/2004455166
Ausgedruckt am: 25.11.2024 um 11:11 Uhr
5 Kommentare
Neuester Kommentar
$datei = .\test.txt
$dateineu = .\testneu.txt
(Get-Content $datei -Head 8),((Get-Content $datei | select -skip 8 | %{if($_ -match 'G(\d+)'){$_ -replace '(?<=^[^;]*;[^;]*;)\d+',$matches[1]}else{$_}})) | set-content $dateineu
https://tio.run/##tZPdTsIwFIDv9xRNxAxETE9/NpYjkXgh8UYfAIEQKD/JBMJmNKE8O7 ...
https://danielfett.de/2006/03/20/regulaere-ausdruecke-tutorial/
Dann hast du sogar noch was davon gelernt und musst hier nicht jeden zweiten Tag mit "wie lese ich xyz aus" antanzen. Kommt auf die Dauer einfach nachhaltiger!
Nen juden wönsch ich. 🤙
Da müsste der Zahl hinter dem 2ten ";" durch die entsprechende Zahl vorne ersetzt werden.
Bei 000006666156 wär die Zahl 15 und bei 000006666217 wär es 21
Wunschkonzert macht du jetzt nach Vorlage oben selbst indem du selbst etwas Hirnschmalz investierstBei 000006666156 wär die Zahl 15 und bei 000006666217 wär es 21
https://danielfett.de/2006/03/20/regulaere-ausdruecke-tutorial/
Dann hast du sogar noch was davon gelernt und musst hier nicht jeden zweiten Tag mit "wie lese ich xyz aus" antanzen. Kommt auf die Dauer einfach nachhaltiger!
Nen juden wönsch ich. 🤙