Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Letzen 15 Zeichen oder die ersten 34 Zeichen einer Zeile in .txt löschen

Frage Entwicklung Batch & Shell

Mitglied: bodor21

bodor21 (Level 1) - Jetzt verbinden

30.10.2009 um 10:26 Uhr, 6155 Aufrufe, 6 Kommentare

Hallo,

es geht mal wieder um Zeilen per Patch zu editieren, die Suchfunktion ergab leider zu meinem Problem keine Lösung.

Gruß

bodor21

Ich möchte per Patch Datei die letzten 15 Zeichen jeder Zeile löschen.
Es geht aber auch alles ab dem 34 Zeichen jeder Zeile zu löschen, je nachdem was einfacher ist.

Die Textdatei test.txt hat ca. 200 Zeilen
Der Zeilenaufbau ist wie folgt:

Code:Polizei=NOTRUF110,Region=1540,NR=27873,Breite=E362CC0;
Code:Polizei=NOTRUF110,Region=1531,NR=27873,Breite=E362C00C0;
Code:Polizei=NOTRUF110,Region=134,NR=27873,Breite=E361CC0;
.
.
.

Hinter dem letzten Zeichen ; sind noch 2 Leerzeichen, die man hier leider nicht sieht.
Die Zeilenlänge variert um max. 4 Zeichen
Mitglied: Marwed
30.10.2009 um 11:06 Uhr
Hallo,

Schema:
- Datei zeilenweise einlesen
- Prüfen, ob sie zu filtern ist (falls nötig)
- Filtern und Ausgabe

Verzögerte Variablenerweiterung aktivieren: SETLOCAL ENABLEDELAYEDEXPANSION

Beispiele:
Zeile Einlesen: for /F "tokens=*" %%i in ( 'type %SFILE%' ) do (
Prüfen: for /F "tokens=*" %%j in ( 'echo "%%i" ^| findstr /P "Name"' ) do (
Zeile in Variable: set EINGABEZEILE=%%i
Filtern: set AUSGABEZEILE=!EINGABEZEILE:~45,-11!
(Beginne beim 46. Zeichen (Offset=45) von links und übernimm alle Zeichen bis auf die letzten 11.)
Ausgabe: ... in der mitleren Schleife mit >> in Ausgabedatei ablegen.

Weitere Einzelheiten findest Du auf Deinem eigenen Rechner in der Befehlszeilenrefenz (C:\WINDOWS/Help/ntcmds.chm)

Gruß,
Marwed
Bitte warten ..
Mitglied: Farbauti
30.10.2009 um 13:16 Uhr
Hallo,

wenn ich's richtig verstanden habe, willst du den Eintrag "Breite...." löschen.
Da deine Datei schon so hübsch aufbereitet ist, bieten sich die Kommas als Trennzeichen an:

01.
set INFILE=test.txt 
02.
set OUTFILE=testout.txt 
03.
FOR /F "eol=; tokens=1,2,3 delims=, " %%i in (%INFILE%) do ( 
04.
	echo %%i,%%j,%%k >> %OUTFILE% 
05.
)
Mit %%i = Code:Polizei=NOTRUF110
%%j = Region=...
%%k = NR=...

Gruß, Farbauti.
PS: Batch und Patch sind zwei verschiedene Sachen ;)
Bitte warten ..
Mitglied: bastla
30.10.2009 um 15:16 Uhr
Weitere Einzelheiten findest Du auf Deinem eigenen Rechner in der Befehlszeilenrefenz (C:\WINDOWS/Help/ntcmds.chm)
... und (wenn Du das wirklich so machen wolltest) schau Dir auch gleich "setlocal enabledelayedexpansion" an ...
[Edit] @Marwed: Entweder hatte ich Deinen Hinweis zu "delayedExpansion" überlesen (ist ja auch so unscheinbar formatiert ), oder Du hast diesen erst nachträglich hinzugefügt - anyhow, doppelt hält eh besser ... [/Edit]
Sinnvoller scheint allerdings auch mir die von Farbauti angesprochene Möglichkeit, die Zeile anhand der enthaltenen Kommata zu zerlegen, wobei mir allerdings das angestrebte Ziel noch nicht ganz klar ist: Alles ab dem 34. Zeichen zu löschen bringt auf Basis der dargestellten Beispielzeilen definitiv andere Ergebnisse als das Löschen der letzten 15 Zeichen - wie sollen daher die bearbeiteten Zeilen tatsächlich aussehen?

Grüße
bastla
Bitte warten ..
Mitglied: Marwed
30.10.2009 um 17:59 Uhr
.. stimmt, so its's eleganter, kürzer !

WENN die Zeilen alle so schön fein hübsch gleich sind ...
Falls nicht, ist meine (umständlichere) Methode flexibler ...
Eben je nach Bedarf.
Marwed
Bitte warten ..
Mitglied: bodor21
30.10.2009 um 22:32 Uhr
Hallo,

@all
das mit den letzten 15. Zeichen oder ab den 34 Zeichen löschen war nur ein Beispiel um den Batch universal zu gestalten.
So kann ich ihn vielleicht einfach nach meinen Dateien anpassen, die ich bearbeiten will.
Ich hatte vor Monaten schon einmal eine ähnliche Anfrage zu Thema gestellt, doch die Lösung war mir im Nachhinein zu umständlich.
Jetzt bin ich mal wieder an den Thema dran und hab mir überlegt, das es mir reichen würde automatisch zu kürzen und den Rest, der ist dann in Jeder Zeile gleich, mit der Ersetzfunktion des Editors zu bearbeiten.
Leider bin ich ein absoluter Anfänger in Batchprogrammierung und kann nicht viel Zeit zum Erlernen der Batchprogrammierung stecken, wenn ich nur 2 oder 3 Batchfiles in 2 Jahren benötige. Sorry wenn ich euch dafür bemühe und mir deswegen böse sein könntet.
Den Unterschied zwischen Patchen und Batchdatei kenne ich genau, nur meine Finger können das beim Schreiben nicht immer trennen )

Also aus

Code:Polizei=NOTRUF110,Region=134,NR=27873,Breite=E361CC0;

soll

Code:Polizei=NOTRUF110,Region=134;

werden.
Ja man kann auch sagen ab dem 2. Komma jede Zeile abschneiden und ein Semikolon als letztes Zeichen setzten.
Wenn das noch einfacher ist, dann prima, bin ich nur nicht drauf gekommen.

Ich hoffe die Sache etwas entwirrt zu haben.

Viele Grüße

Bodor21
Bitte warten ..
Mitglied: bastla
31.10.2009 um 08:19 Uhr
Hallo bodor21!

Die Trennzeichen-Variante ist sicherlich flexibler, da eben die Zeichenanzahl dabei auch unterschiedlich sein kann. Unter Berücksichtigung der Tatsache, dass die Ausgabe immer an die Zieldatei angefügt wird, sollte eine ev bereits vorhandene Datei vorweg noch gelöscht werden - das Ganze sähe dann etwa so aus:
01.
@echo off & setlocal 
02.
set "INFILE=D:\Nur ein Test\test.txt" 
03.
set "OUTFILE=D:\Nur ein Test\testout.txt" 
04.
 
05.
del "%OUTFILE%" 2>nul 
06.
FOR /F "usebackq tokens=1-2 delims=," %%i in ("%INFILE%") do echo %%i,%%j;>>"%OUTFILE%"
Wenn es tatsächlich einmal nötigt sein sollte, anhand der Zeichenanzahl aufzuteilen, hast Du mit Marweds Vorschlag eine Basis dafür.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Per Batch erste 15 Zeichen in jeder Zeile einer Textdatei lassen. Den Rest - löschen. Wie?
gelöst Frage von takitanoBatch & Shell9 Kommentare

Hallo an alle, ich habe folgendes Problem: in einer Texdatei habe ich ca. 60.000.000 Zeilen (453 MB) Jede Zeile ...

Batch & Shell
Batch um Zeichen aus erster und letzter Zeile einer TXT Datei zu löschen
Frage von Bobby0712Batch & Shell2 Kommentare

Hallo. Wie der Titel schon sagt suche ich eine möglichkeit wie ich aus einer TXT Datei aus der ersten ...

Batch & Shell
Batch um erste Zeile einer CSV zu löschen
gelöst Frage von chris1987.1Batch & Shell6 Kommentare

Hallo, im Rahmen meiner Masterarbeit muss ich eine Vielzahl von csv Dateien untersuchen. Hierbei muss ich einige dieser Dateien ...

Batch & Shell
Batch: Mehrere .txt Dateien zu einer zusammenfügen, dabei jeweils die erste Zeile löschen
gelöst Frage von v.piepmatzBatch & Shell5 Kommentare

Hallo, ich bin leider kompletter Neueinsteiger bzgl. batch-Dateien, suche jetzt aber eine Möglichkeit mehrere .txt Dateien, welche in einem ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 7 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 11 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware8 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...