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

Zählen mit FINDSTR

Frage Entwicklung Batch & Shell

Mitglied: freaggle

freaggle (Level 1) - Jetzt verbinden

16.03.2012, aktualisiert 15:04 Uhr, 4359 Aufrufe, 9 Kommentare

Hallo zusammen.

Vorab. Ich bin ganz neu im Thema Scripting usw.

Ich bin grade dabei die Überwachung der Serverlandschaft mittels Nagios zu realisieren.
Und dabei hab ich ein kleines Problem.

Ich möchte auf einem Windows System log Dateien nach Schlagwörtern durchsuchen und dann zählen, wie oft das Wort in der Datei vorkommt.
Diese Zahl muss ich dann irgendwie ausgeben und per Script an Nagios übergeben. Aber das ist ein anderes Thema.

ich habe schon ein wenig mit findstr rumgespielt. Nach Schlagwörtern kann ich suchen, nur zählen und iwie ausgeben bekomme ich nicht hin.
Und da kommt ihr ins Spiel

Hat vielleicht jemand für dieses "Problem" einen Lösungsansatz?

Vielen Dank
Mitglied: bastla
16.03.2012 um 14:58 Uhr
Hallo freaggle und willkommen im Forum!

Unter der Annahme, dass die Schlagwörter nur einmal je Zeile vorkommen, ungetestet etwa so:
01.
@echo off & setlocal 
02.
set "Log=D:\Dein Log.txt" 
03.
set "Schlagwort=Dein Schlagwort" 
04.
 
05.
for /f  %%i in ('find /c "%Schlagwort%"<"%Log%"') do set /a Anzahl=%%i 
06.
echo "%Schlagwort%" kommt in "%Log%" in %Anzahl% Zeilen vor.
Grüße
bastla

[Edit] Da könnte ja auch find genügen [/Edit]
Bitte warten ..
Mitglied: Skyemugen
16.03.2012 um 15:00 Uhr
Aloha,

du könntest mit findstr wenn denn auch nur die Anzahl der Zeilen ausgeben, wo das Schlagwort vorkommt, nicht aber die Anzahl des Schlagwortes
01.
set "vari=0" 
02.
for /f "delims=" %%s in ('findstr /c:%Schlagwort% %temp%\liste.txt') do set /a vari+=1 
03.
echo %vari%
greetz André

@bastla ... egal, ich hab' Feierabend, viel Spaß noch beim Rumbasteln
Ja, wunderte mich schon.
Bitte warten ..
Mitglied: bastla
16.03.2012 um 15:08 Uhr
@skye
Da war ich etwas zu flott unterwegs - das wäre eigentlich so gemeint gewesen (aber ohnehin suboptimal):
set /a Anzahl=0 
for /f "delims=:" %%i in ('findstr /i /c:"%Schlagwort%" "%Log%"^|findstr /n "^"') do set /a Anzahl=%%i
Grüße
bastla
Bitte warten ..
Mitglied: freaggle
16.03.2012 um 15:29 Uhr
Ihr seid ja genial
Vielen Dank.
Funktioniert wunderbar.

Habt ihr auch noch eine gute Idee, wie ich den ermittelten Wert nun an ein Script übergeben könnte?

Schönes Wochende.

Mfg
Bitte warten ..
Mitglied: bastla
16.03.2012 um 15:31 Uhr
Hallo freaggle!
Habt ihr auch noch eine gute Idee, wie ich den ermittelten Wert nun an ein Script übergeben könnte?
Ja.

Grüße
bastla
Bitte warten ..
Mitglied: freaggle
19.03.2012 um 09:40 Uhr
Zitat von bastla:
> Habt ihr auch noch eine gute Idee, wie ich den ermittelten Wert nun an ein Script übergeben könnte?
Ja.

Hallo bastia.

Die da wäre...?

Danke
Bitte warten ..
Mitglied: bastla
19.03.2012 um 10:41 Uhr
Hallo freaggle!

So, wie Dir etwas an meiner Antwort gefehlt hat, geht es mir mit Deiner Frage ...

Aber grundsätzlich: Der Wert steht in der Variablen %Anzahl%

Grüße
bastla
Bitte warten ..
Mitglied: freaggle
23.03.2012 um 13:36 Uhr
Hallo zusammen.

Ich habe das Ganze nun nach langem Suchen und studieren hinbekommen
Hat mich einiges an Nerven gekostet.
Aber es macht dann doch Spaß, wenn es einmal läuft.
Und so ganz langsam steige ich auch dahinter...

Habe nun aber ein neues Problem...

Ich suche in einer Dati nach einem Schlagwort.
Kommt das Wort vor, soll er mir einen Teil der Zeile ausgeben, in der das Wort vorkommt. Das würde ich glaube ich noch hinbekommen..
Kommt das Wort öfters vor, soll er mir jedoch nur die Zeile ausgeben, in welcher das aktuellste Datum mit Zeit steht...
Kann so etwas mit einer Batch überhaupt funktionieren?

Mfg
Bitte warten ..
Mitglied: bastla
23.03.2012 um 23:43 Uhr
Hallo freaggle!
Kann so etwas mit einer Batch überhaupt funktionieren?
Jedenfalls nicht, wenn Du nicht von Deiner Geheimhaltungspflicht hinsichtlich des Aufbaues der Textdatei entbunden wirst ...

Abgesehen davon wäre das ein Thema für einen neuen Thread.

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Findstr - code für schwieriger Abfrage gesucht (9)

Frage von reissaus73 zum Thema Batch & Shell ...

Batch & Shell
gelöst Mal eine neue Art von Abfrage mit findstr (8)

Frage von DaTobsn zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel Formeln - Zählen der Anzahl eindeutiger Zellwerte mit einer Nebenbedingung (4)

Frage von Booster07 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...