Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 2122 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 ..
Neuester Wissensbeitrag
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Ähnliche Inhalte
Peripheriegeräte
Roccat Ryos - Support verzweifelt an Problem mit Profilen

Frage von sascha382 zum Thema Peripheriegeräte ...

Windows Update
gelöst Windows Server 2012 R2 - WSUS Problem (1)

Frage von aladin.inder zum Thema Windows Update ...

Batch & Shell
PowerShell Transkript Problem (5)

Frage von Marabunta zum Thema Batch & Shell ...

Ubuntu
Problem mit MailServer unter Debian - Postfix, Dovecot (4)

Frage von Richard8 zum Thema Ubuntu ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

Exchange Server
Bestehende eMails autoamatisch weiterleiten (21)

Frage von metal-shot zum Thema Exchange Server ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (16)

Frage von ProfessorZ zum Thema Router & Routing ...