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

Findstr - noch ein Syntax- Problem

Frage Entwicklung Batch & Shell

Mitglied: leknilk0815

leknilk0815 (Level 3) - Jetzt verbinden

28.04.2013, aktualisiert 18:29 Uhr, 2174 Aufrufe, 5 Kommentare

wie lösche ich in der Zeilenmitte jeder Zeile einen Text?

Servus,
noch ein kleines Problem (leider nicht für mich...):
In LOG- Dateien stehen folgende Zeilen (der Aufbau ist immer gleich, nur die Werte unterscheiden sich):

2012/06/01 13:26:46 G-Sensor( 0.00, 0.88,-0.06) N40 05.923 E019 45.084 0km/h

Da ich diese Dateien schon vorher in einer Batch mit "findstr" nach Duplikaten absuchen und bereinigen lasse, was dank der Forumshilfe schon funktioniert, wäre es am einfachsten, wenn man die Textteile, die ich nicht brauchen kann, in derselben Batch mittels findstr entfernen könnte.
Ich bräuchte einen Befehl, der in jeder Zeile die Zeichen ab Pos. 24 die nächsten 28 Zeichen löscht.
Das selbe nochmal vom Zeilenende 8 Zeichen, so daß danach die Einträge für "G_Sensor(xxxx)" und "km/h" entfernt sind.


findstr /r /c:"%Zeile:~24,28%" - funktioniert natürlich nicht, Beispiel habe ich auch keines gefunden bzw. wieder mal übersehen...

Ich hoffe auf Nachsicht und bedanke mich schonmal vorab!

Gruß - Toni

P.S.:
Hier noch die Batch, die ich aus dem Forum zusammengeklaut und angepasst habe.
Nicht schön, ich weiß, aber sie tut das, was ich brauche.
Wenn ich jetzt noch die überflüssigen Daten mit eurer Hilfe rausbekomme, wäre ich glücklich...
01.
@echo off & setlocal  
02.
set "Datei=13265400.LOG" 
03.
set "Bak=.bak" 
04.
set "AusgabeDatei=bereinigt-1.log" 
05.
set "Duplikate=Duplikate.txt" 
06.
set /a LineNo=0  
07.
 
08.
move "%Datei%" "%Datei%%Bak%" 
09.
 
10.
copy nul "%Duplikate%">nul 
11.
 
12.
for /f "usebackq delims=" %%i in ("%Datei%%Bak%") do set "Zeile=%%i" & call :ProcessLine 
13.
 
14.
set "Datei=bereinigt-1.log" 
15.
set "Bak=.bak" 
16.
set "AusgabeDatei=bereinigt-2.log" 
17.
set "Duplikate=Duplikate.txt" 
18.
set /a LineNo=0  
19.
 
20.
move "%Datei%" "%Datei%%Bak%" 
21.
copy nul "%Duplikate%">nul 
22.
 
23.
for /f "usebackq delims=" %%i in ("%Datei%%Bak%") do set "Zeile=%%i" & call :ProcessLine2 
24.
 
25.
del "%Datei%%Bak%"  
26.
del "%Duplikate%" 
27.
 
28.
goto :eof  
29.
 
30.
:ProcessLine  
31.
set /a LineNo+=1  
32.
 
33.
echo Validiere Zeile %LineNo% ...  
34.
 
35.
findstr /b /c:"%Zeile:~,19%" "%AusgabeDatei%">nul && >>"%Duplikate%" echo %Zeile% || >>"%AusgabeDatei%" echo %Zeile% 
36.
goto :eof 
37.
 
38.
:ProcessLine2 
39.
set /a LineNo+=1  
40.
echo Validiere Zeile %LineNo% ...  
41.
findstr /e /c:"%Zeile:~-30%" "%AusgabeDatei%">nul && >>"%Duplikate%" echo %Zeile% || >>"%AusgabeDatei%" echo %Zeile% 
42.
goto :eof


Mitglied: Endoro
28.04.2013, aktualisiert um 18:55 Uhr
Hallo leknilk0815,

das geht so:
01.
@echo off&setlocal 
02.
set "string=2012/06/01 13:26:46 G-Sensor( 0.00, 0.88,-0.06) N40 05.923 E019 45.084 0km/h" 
03.
set "string=%string:~0,24%%string:~52,-8%" 
04.
echo %string%
Output:
2012/06/01 13:26:46 G-Se05.923 E019 45.0
Gruss!
Bitte warten ..
Mitglied: bastla
28.04.2013 um 18:58 Uhr
... und lässt sich so in den bestehenden Batch einbauen:
01.
:ProcessLine2 
02.
set /a LineNo+=1  
03.
echo Validiere Zeile %LineNo% ... 
04.
set "Reduziert=%Zeile:~,23%%Zeile:~51,-8%" 
05.
findstr /e /c:"%Zeile:~-30%" "%AusgabeDatei%">nul && >>"%Duplikate%" echo %Zeile% || >>"%AusgabeDatei%" echo %Reduziert% 
06.
goto :eof
- hinsichtlich der genauen Positionen (23/24, 51/52) musst Du Dir das selbst ansehen ...

Grüße
bastla
Bitte warten ..
Mitglied: leknilk0815
28.04.2013 um 19:54 Uhr
...das flutscht ja wie am Schnürchen!
Eingebaut, ein bisschen rumjongliert - passt.

...ich trau es mir fast nicht zu sagen...:
wenn man jetzt noch was einbauen könnte, das jeweils an 11,20 und 33 Stelle in jeder Zeile ein Komma einsetzt wäre die CSV- Datei fertig und ich bräuchte sie nicht noch in Excel bearbeiten.
Hintergrund ist, daß ich per GPS eine Strecke von 2x 1700km nach Albanien aufgezeichnet habe und die Strecke über Google Maps darstellen will (bzw. an OpenStreetView geben, falls die damit was anfangen können). Da ich aber pro Sekunde 10 GPS- Datensätze habe, muss das "etwas" eingedampft werden. Excel scheitert da mit 65000 Zeilen kläglich, ich auch...
Zum Eindampfen muss ich dann noch was basteln, daß die Log- Dateien per Script/Batch automatisch abgearbeitet werden, da es insgesamt etwa 250 Dateien mit je 800KB sind.
Die Konvertierung in GoogleMaps funkt schon mit den bearbeiteten Daten.
Bitte warten ..
Mitglied: bastla
28.04.2013 um 20:04 Uhr
Hallo leknilk0815!

Das Prinzip für das Zerlegen / Zusammensetzen sollte doch eigentlich schon klar sein - anyhow:
set "Reduziert=%Reduziert:~,10%,%Reduziert:~11,8%,%Reduziert:~20,10%,%Reduziert:~31%"
nach Zeile 4 einfügen ...

Grüße
bastla
Bitte warten ..
Mitglied: leknilk0815
28.04.2013 um 20:14 Uhr
Zitat von bastla:
Hallo leknilk0815!

Das Prinzip für das Zerlegen / Zusammensetzen sollte doch eigentlich schon klar sein -

...prinzipiell schon, aber Du hast das Wörtchen "langsam" vergessen - ich werd' langsam alt... (und bin nun doch schon über 10 Jahre aus dem Admin- Job raus)
Und - dann war da heute noch ein schöner Crash an der Kiste meiner Frau, weil Nokia zu dumm ist, die NokiaSuite so zu programmieren, daß die Kiste nicht abschaltet, wenn die Suite startet. Das hat mich "nebenbei" beschäftigt. Nach mehreren Systemwiederherstellungen gings dann irgendwann...

Vielen Dank Dir und Endoro für die Hilfe und Geduld,

Gruß - Toni
Bitte warten ..
Ähnliche Inhalte
Windows XP
Syntax für - Ausführen als...-
Frage von FordPerfectWindows XP3 Kommentare

Syntax für "ausführen als"Hallo liebe Freunde! ich versuche auf einem XP rechner eine Software automatisch zu starten. Bei mir ...

Windows Tools
Findstr und regex
gelöst Frage von tobmesWindows Tools5 Kommentare

Hi Experten, ich habe ziemlich viele PDF-Dateien, die ich mittels eines Batch-Files nach einem Bestimmten Muster durchsuchen möchte. Die ...

Batch & Shell
Hilfe bei findstr reg expression
gelöst Frage von TheUntouchableBatch & Shell5 Kommentare

Hallo liebe Admins, ich bräuchte Hilfe beim erstellen einer reg expression mit findstr: Aus folgender Textdatei sollen nur die ...

Windows Server
WMI-Filter Syntax
gelöst Frage von DasWombat1993Windows Server10 Kommentare

Hallo Liebe Administratoren, Ich habe ein Problem mit einem WMI-Filter. Der Filter wird auf eine Gruppenrichlinie angewendet welche eine ...

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 15 StundenMikroTik RouterOS5 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 15 StundenSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 17 StundenAdministrator.de Feedback9 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 22 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Festplatten, SSD, Raid
USB Stick recovery
Frage von petereFestplatten, SSD, Raid15 Kommentare

Hallo, ich habe einen defekten USB-Stick, der nicht mehr lesbar ist. Er wird in WIN als unbekanntes Volume mit ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...