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, 2106 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
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Multimedia & Zubehör
BENQ Beamer Fernbedingung Frequenz Problem (2)

Frage von xbast1x zum Thema Multimedia & Zubehör ...

Windows Server
Google Chrome Web Store Problem auf Terminal Farm

Frage von dakoerry zum Thema Windows Server ...

Multimedia & Zubehör
gelöst Problem: DVI zu VGA (8)

Frage von Protected zum Thema Multimedia & Zubehör ...

Windows Server
Problem bei Zertifikatsverlängerung auf SBS2008 (2)

Frage von Firewire zum Thema Windows Server ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...