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, 4669 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Mal eine neue Art von Abfrage mit findstr (8)

Frage von DaTobsn zum Thema Batch & Shell ...

Linux
gelöst Umlaute zählen - Bash-Script (5)

Frage von plutowitsch zum Thema Linux ...

JavaScript
Javascript rechnen mir sehr sehr großen Zahlen (3)

Frage von it4baer zum Thema JavaScript ...

Linux
gelöst E-Mail Adressen zählen (2)

Frage von plutowitsch zum Thema Linux ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Linksys wrt1200ac v2 mit dd-wrt: keine vlan-einstellungen im GUI (15)

Frage von Pixi123 zum Thema Router & Routing ...

E-Business
Wo tragt ihr eure privaten Termine ein? (13)

Frage von honeybee zum Thema E-Business ...

Batch & Shell
Batch zum suchen und verschieben von Verknüpfungen (12)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Windows Server
Terminalserver starten willkürlich neu (12)

Frage von thaefliger zum Thema Windows Server ...