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
GELÖST

Wie kann ich eine bestimmte Zeile ausgeben (log)

Frage Entwicklung Batch & Shell

Mitglied: tan321

tan321 (Level 1) - Jetzt verbinden

02.09.2010, aktualisiert 18.10.2012, 6110 Aufrufe, 7 Kommentare

Hallo,
aus mehrer erstellten Log-Dateien,
sollte eine bestimmte Zeile angezeigt werden.
Ich kenne es nur von PHP mit einer Variable zu definieren,
und anzeigen zu lassen,wie geht es jedoch bei Shell.

Hier mal ein Ausschnitt aus Log:
Total Copied Skipped Mismatch FAILED Extras

Dirs : 1 : 1 : $S=0 : $M=0 : $F=0 : :
Files : 15 : 15 : 0 : 0 : 0 : :
Bytes : 6188 : 6188 : 0 : 0 : 0 : :
Times : 0:04:59 :0:04:59 : : : : :
: : : : : : :
Speed : 222 B/s
Speed : 127 MB/s
: : : : : : :
Ended : Sun Aug 01 03:24:54 2010


DIe Variable $S, $M und $F habe ich selber reingeschrieben.
Diese "Variablen" sollen angezeigt werden.ABer wie ?

Desweiteren soll wenn $S eine 1 ist,eine Text ausgeben, 0= OK oder 1=nicht OK

Wie kann ich es realisieren?

Ich danke vielmals im voraus.

Mfg
Mitglied: Biber
02.09.2010, aktualisiert 18.10.2012
Moin tan321,

willkommen im Forum.

Auch wenn sich nach mehrmaligem Lesen der Verdacht erhärtet, es könnte sich möglichweise um eine Aufgabenstellung aus dem Kontext "Robocopy.Log-Auswertung" und somit aus dem Bereich Windows handeln...

Was hätte denn dagegen gesprochen, das verwendete System (="Windows") und das Werkzeug "Robocopy" mit anzugeben?
Dann hätte irgendjemand garantiert innerhalb von Muten zurückgeschriebe:
"Hey, benutz doch einfach mal die rattenscharfe Forumssuche hier, gib "Robocopy.log" ein und klick dich durch.
Oder klick meinetwegen auf die dort aufgelisteten Beiträge Robocopy-Logfile auswerten oder robocopy log file, da steht alles drin."


Wie gesagt, das wäre alles passiert, wenn du vernünftig gefragt hättest...

So allerdings wirst du vermutlich monatelang keine einzige brauchbare Antwort bekommen.

Grüße
Biber
Bitte warten ..
Mitglied: tan321
03.09.2010 um 13:03 Uhr
Vielen Dank für die schnelle Antwort.
Ich verwende WIndows und Robocopy.

Mein bat. Datei sieht folgendermaßen aus:
01.
@echo off & setlocal 
02.
set /a Failed=0 
03.
for /f "tokens=7" %%i in ('findstr /C:"Files :" /log.txt') do set /a Failed+=%%i 
04.
If %Failed%==0 goto :OK 
05.
echo %Failed% Fehler gefunden! 
06.
goto :eof 
07.
:OK 
08.
echo Sicherung OK 
09.
goto :eof
Jedoch erhalte ich folgende Fehlermeldung?!
01.
FINDSTR: /g wurde ignoriert 
02.
FINDSTR: /. wurde ignoriert 
03.
FINDSTR: /t wurde ignoriert 
04.
FINDSTR: /t wurde ignoriert
Woran kann es liegen?
Bitte warten ..
Mitglied: Biber
03.09.2010 um 14:58 Uhr
Moin tan321,

Woran kann es liegen?
Vermutlich an dem Schrägstrich in der Dateiangabe "/log.txt".

  • Lass bitte der Schrägstrich wenn, wenn er nur eine Datei aus dem aktuellen Verzeichnis durchsuchen soll
  • oder ersetze den "/" durch einen backslash "\", wenn es bedeuten soll, die Datei log.txt liegt auf dem Root-verzeichnis
  • oder ersetze die Angabe durch ":d:\temp\logs\log.txt", wenn die Datei im verzeichnis "d:\temp\logs" liegt.

Grüße
Biber
Bitte warten ..
Mitglied: tan321
03.09.2010 um 15:24 Uhr
Ich habe soeben die genannten Dinge ausprobiert,
dann lässt sich der DOS Fenters <1 sec öffnen und schließen.
Leider liegt das Problem woanders, und finde keine Lösung zu.

Nochmal die Logdatei:
01.
------------------------------------------------------------------------------- 
02.
ROBOCOPY :: Robust File Copy for Windows :: Version XP010 
03.
------------------------------------------------------------------------------- 
04.
 
05.
Total Copied Skipped Mismatch Failed Extras 
06.
Dirs : 2 2 0 0 1 0 
07.
Files : 2 2 0 0 1 0 
08.
Bytes : 75.32 m 75.32 m 0 0 0 0 
09.
Times : 0:00:00 0:00:00 0:00:00 0:00:00 
10.
 
11.
Speed : 560136113 Bytes/sec. 
12.
Speed : 32051.245 MegaBytes/min. 
13.
 
14.
Ended : Mon Jun 10 17:44:10 2008
Mfg
tan321
Bitte warten ..
Mitglied: Biber
03.09.2010 um 17:00 Uhr
Moin tan321,

ich weiss jetzt nicht, in welcher IDE du diesen Effekt mit dem in weniger als 1 Sekunde schließenden DOS-Fenster generierst.
Bei mir (Win XP SP3) tritt dieses Phänomen nur auf, wenn ich am CMD-Fenster "exit" eintippe.

Du könntest noch zur Probe mal
If "%Failed%"=="0" goto :OK
--> die beiden gegeneinander geprüften Werte in Hochkomma setzen. vielleicht hilft es.

Wenn nicht, dann musst du auf einen der Spezialisten warten, die per Doppelklick vom Desktop debuggen können. Ich kann das nicht.

Grüße
Biber
Bitte warten ..
Mitglied: pieh-ejdsch
03.09.2010 um 19:53 Uhr
moin tan321,

Zeile 03 und Zeile 04 liessen sich vllt so verkürzen
(for /f "tokens=7" %%i in ('findstr /C:"Files :" log.txt') do set /a Failed+=%%i)||goto :OK
oder so wie Biber Schraubte...

desweiteren hast Du Dein Batch nur gesagt das er sich sofort nach der AnzeigeMeldung wieder Verabschieden soll, wenn Du den Batch nicht von der CMD-Line gestartet hast.
für eventuelle lesbarkeit von UltraKurznachrichten haben sich folgende AbschlussZeilen bewährt:
pause&goto :eof 
oder ohne Kommentar 
pause>nul&goto :eof 
oder mit Kommentar 
echo Drueck mich und ich Verschwinde!&pause>nul&goto :eof 
oder SelbstVerschwindend 
ping localhost -n 5 >nul&goto :eof
@Biber einen selbverschwindenden Debugger hatte ich auch noch nicht!

Gruß Phil
Bitte warten ..
Mitglied: tan321
06.09.2010 um 22:51 Uhr
Vielen Dank für eure Hilfen.
Der Script funktioniert nun einwandfrei.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Bestimmte Zeile einer Textdatei mit Batch auslesen (2)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

VB for Applications
gelöst Per Vbscript bestimmte Zeile ungeachtet der Nummerierung prüfen (7)

Frage von aletri zum Thema VB for Applications ...

VB for Applications
gelöst Vbscript bestimmte Zeile ungeachtet der Nummerierung löschen (4)

Frage von aletri zum Thema VB for Applications ...

Microsoft Office
gelöst Excel 2010 Makro Ausgabe in bestimmter Tabelle ausgeben (6)

Frage von dressa zum Thema Microsoft Office ...

Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(7)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(10)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
Dir tc Befehl unter Windows 10 macht Probleme (12)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (10)

Frage von ahaeuser zum Thema Windows Server ...