Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 4730 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 ...

Windows Tools
gelöst Findstr und regex (5)

Frage von tobmes zum Thema Windows Tools ...

Microsoft Office
Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

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

Frage von it4baer zum Thema JavaScript ...

Neue Wissensbeiträge
Windows 10

Erneutes Starten eines Programmes mit Admin-Rechten

Tipp von Estefania zum Thema Windows 10 ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(3)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...