Top-Themen

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

Frage Entwicklung Batch & Shell

GELÖST

Textdatei ausgeben (die letzten 10 zeilen)

Mitglied: bankaifan

bankaifan (Level 2) - Jetzt verbinden

23.09.2010 um 10:19 Uhr, 10088 Aufrufe, 17 Kommentare

guten Morgen zusammen,

Ich suche n Möglichkeit, mit der ich so etwas machen kann wie mit

01.
  
02.
more
allerdings immer nur die letzten 10 zeilen ausgegeben werden.

vllt steh ich grad aufm schlauch, aber ich hab grad keine idee wie das gehen könnte

Danke schonmal für eure Beiträge.

Grüße

Bankaifan
Mitglied: refugee
23.09.2010 um 10:22 Uhr
hey
wie wärs mit tail?
Bitte warten ..
Mitglied: mcmarc
23.09.2010 um 10:28 Uhr
Hallo

oder

- less -

Deine Beschreibung was genau Du machen willst, ist etwas mager

Gruss
Bitte warten ..
Mitglied: bankaifan
23.09.2010 um 10:31 Uhr
tail?

less?

Kenn ich beides nicht :D

also ich hab ja nen Chat mit batchprogrammiert, zusammen cewiemaster

Naja und da wird der chatverlauf immer mit "more" eingelesen. aber wenn jetzt so die logdatei mal 200 zeilen groß ist muss man ja jedesmal bis nach unten drücken also mit enter. und naja. das hätte ich gerne so, dass immer nur die letzten 10 zeilen angezeigt werden.
Bitte warten ..
Mitglied: mcmarc
23.09.2010 um 10:35 Uhr
aha ok dann wäre der befehl:

"tail -10" geeignet

also :D "tail -10 /root/logdatei" z.B. zeit dir die letzen 10 Zeilen in der Datei /root/logdatei an

Aber ich empfehle Dir die manpages mal durchzulesen, gibt tolle Sachen
http://linuxmanpages.com/man1/tail.1.php

oder in der console: "man tail" eingeben.

Gruss
Bitte warten ..
Mitglied: refugee
23.09.2010 um 10:40 Uhr
tail gibt doch von Haus aus die letzten 10 Zeilen aus?

tail -n würde n Zeilen ausgeben, also wäre das -n in dem Fall überflüssig :D
Bitte warten ..
Mitglied: mcmarc
23.09.2010 um 10:45 Uhr
ja richtig, ich wollte den syntax verständlich machen da bankaifan die Befehle noch nicht gehört hatte .. man weiß ja nie, vieleicht sollen es später doch 15 Zeilen sein .

hehe merci
Bitte warten ..
Mitglied: bankaifan
23.09.2010 um 10:48 Uhr
Ihr zwei :D

Aber das hört sich perfekt an. geht aber ned :D

Ich bekomm die meldung "der befehl tail ist ned bekannt"

Ne idee?
Bitte warten ..
Mitglied: mcmarc
23.09.2010 um 10:50 Uhr
OK mal blöde am Rande gefragt...
was für ein System setzt du ein, sag jetzt bitte nicht Windows ?

Gruss
Bitte warten ..
Mitglied: bankaifan
23.09.2010 um 10:51 Uhr
Ich hab mich schon gewundert warum dort oben Linux steht :D

Aber ja. ich hab Windows.
Bitte warten ..
Mitglied: refugee
23.09.2010 um 11:07 Uhr
Ah ok, dachte mir nur vll weiß ich was falsches xD


verdammt -.-
Ich dachte mir schon das ist ja zu leicht xD

Hier kriegst du tail für windows
http://tailforwin32.sourceforge.net/
Bitte warten ..
Mitglied: bankaifan
23.09.2010 um 11:08 Uhr
Des klappt ned :D Der Proxy hier blockt alle .exe-files.

Gäbe nur die möglichkeit das i-wie selbst zu schreiben, so wie bei sleep. ich bräuchte also den source code.
Bitte warten ..
Mitglied: Biber
23.09.2010 um 11:17 Uhr
Moin bankaifan,

die Befehle tail/head gibt es auch zigfach als Windowsportierungen namens head.exe/tail.exe im Netz zu finden.
Wäre bei einer Logdatei (in handelsüblicher Größe) auch unbedingt meine Empfehlung.

Als Behelfskrücke, wenn es ohne derartige Helferlein sein soll oder eben keine installierte tail.exe vorausgesetzt werden kann, dann.

Dreistufiges Vorgehen:
  • Ermittlung der Gesamtzahl der Zeilen der Logdatei mit FOR/F und Findstr.
  • gewünschte Zeilenanzahl zurückrechnen, z.B. 10 Zeilen
  • Anzeigen der Logdatei mit MORE +%GesamtZeilenMinusX%

Skizze im Batch:
01.
@echo off & setLocal 
02.
for /f "delims=:" %%i in ('findstr /n $ deine.log') do set /a "lines=%%i" 
03.
:: in %lines% steht jetzt Gesamtzeilenanzahl  
04.
set /a lines-=10 
05.
:: in %lines% steht jetzt Gesamtzeilenanzahl minus 10 
06.
More +%lines% deine.log
Anmerkung:
- wirklich nur als Notnagel!
- Sissies würden noch das Ergebnis von "set /a lines-=10" prüfen... wenn die Logdatei nur 2 Zeilen hat und du entsprechend mit more die Zeilen %lines%=(-8) anzeigen lassen willst... dann kommt Grütze raus.

Grüße
Biber
Bitte warten ..
Mitglied: 60730
23.09.2010 um 11:20 Uhr
moin,

wenn tail nicht geht und das ganze eh von verbätchelt ist - kommts ja "darauf" eh nicht mehr an...

01.
for /f "tokens=1 delims=:" %%a in ('findstr /n "." c:\xyz.txt') do set zeilen=%%a 
02.
set /a %zeilen%-10 
03.
more c:\xyz.txt +%zeilen%
Gruß

Weder schnell noch schön oder elegant

edit @Biber - jetzt war ich telefonieren.../edit
Bitte warten ..
Mitglied: bankaifan
23.09.2010 um 11:25 Uhr
Das sieht doch wieder ma prima. Biber du bist der Beste :D

Ja. ist leider ned so einfach hier ne exe zu beantrage

Aber so müsste ich das hinbekomme. das mit dem more +* war die lösung

EDIT: eine frage noch, warum delims:?
Bitte warten ..
Mitglied: bankaifan
23.09.2010 um 11:29 Uhr
@TimoBeil Ich weiß das es ned die feine Art ist aber geht leider nicht anders.

aber ich versteh das "delims=:" ned

EDIT:

Habs getested. funktioniert prima.

Das mit dem obs weniger als 10 zeilen sind muss ich ned prüfen. ich lass einfach beim löschen der datei ne neue erstellen in die 10 zeilen eingefügt werden :P

[OT]
kleiner ausschnitt aus bankaifans leben:

Bankaifan kopiert den Snippet von biber
Er fügt ihn in sein Programm ein.
Passt ihn an.
Startet das programm.
Erhält die Meldung
"Die Datei deine.log konnte nicht geöffnet werden"
Bankaifankopf -> Tisch *kopfschüttel*
[/OT]
Bitte warten ..
Mitglied: Biber
23.09.2010 um 12:13 Uhr
Moin bankaifan,

zu den etwas unüblichen Parametern "delims=:" bei FOR/F und "." bzw "$" bei FindStr.

"Delims=:" bedeutet, dass jede Zeile in der FOR/F-Anweisung in Häppchen (neudeutsch tokens) aufgespalten wird und das Trennzeichen zwischen Häppchen ein Doppelpunkt ist
Bsp für die Logdatei-Zeilen mit FindStr /n aufgelistet
... 
95:Dec 22, 2005, 10:38:18 Session 1: RCPT TO: 
96:Dec 22, 2005, 10:38:18 Session 1: Recipient address eject: 
..
Als erstes wird von FindStr /n die Zeilennummer (hier: 95, 96, ...) herausgeschrieben gefolgt von einem Doppelpunkt.
Und die will ich haben.

Die Findstr-Parameter "." bzw $
- ein Punkt steht für ein beliebiges Zeichen... alle nicht-leeren Zeilen werden angezeigt/berücksichtigt
- ein $ steht für ein Zeilenende (CRLF unter Windows). Alle Zeilen mit einem CRLF werden berücksichtigt.

So würde bei meiner Test-Logdatei die Gesamtzahl Zeilen bei T-Mo um 1 niedriger sein, weil meine Logdatei eine Leerzeile enthält.

P.S. Durch T-Mos "set /a %zeilen%-10" wird kurz das Ergebnis von "%zeilen%-10" angezeigt... aber der tail-Output ist wesentlich kürzer als bei mir.

Grüße
Biber
Bitte warten ..
Mitglied: bankaifan
23.09.2010 um 12:40 Uhr
Supi.

Du bist echt ma n vorbild was Batch angeht :D Kann man dich für nen rundumkurs mieten?

Also das jetzt schonmal sehr hilfreich

Das heißt jetzt also wenn ich $ verwende zählt er mir auch die leeren zeilen mit.

danke soweit.

Bankaifan
Bitte warten ..
Ähnliche Inhalte
VB for Applications
VbScript: Textdatei nach Suchbegriff nur die nächsten drei Zeilen ausgeben
gelöst Frage von Host-essVB for Applications10 Kommentare

Moin, Moin, ich bin neu hier im Forum und auch Neuling was Vbscript betrifft. Vielleicht kann mir ja jemand ...

Batch & Shell
Textdatei Zeile für Zeile auslesen
Frage von RIPUEDBatch & Shell

Hallo, ich würde gerne mit einem Batch-Skript Zeilen aus einer Textdatei einzeln und nacheinander auslesen und diese dann nach ...

Batch & Shell
PowerShell Array in Textdatei ausgeben
gelöst Frage von derhoeppiBatch & Shell2 Kommentare

Hallo, der Titel hört sich nicht allzu schwer an. Ich habe eine Foreach Schleife die Durchläuft und ein Array ...

Debian
Letzte Zeile lesen und einfügen
gelöst Frage von Fenris14Debian4 Kommentare

Guten Tag, ich versuche mich mal wieder ein wenig an Scripten und habe hier jetzt das Problem das ich ...

Neue Wissensbeiträge
CPU, RAM, Mainboards

Meltdown und Spectre: Intel zieht Microcode-Updates für Prozessoren zurück

Information von keine-ahnung vor 2 StundenCPU, RAM, Mainboards1 Kommentar

Moin, extrem lutztig. Nur gut, dass ich noch nicht beim Probanden-Bingo mitgemacht habe :-) LG, Thomas

Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 16 StundenRouter & Routing3 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 22 StundenDatenschutz1 Kommentar

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 1 TagMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement25 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Server
TEMP-Profile
Frage von Forseti2003Windows Server17 Kommentare

Guten Morgen, wer kennt sie nicht, die lieben Temporären Benutzerprofile, vorallem immer dann, wenn man sie am wenigsten braucht. ...

Multimedia & Zubehör
Welches Tablet für die Verkäufer?
Frage von Hendrik2586Multimedia & Zubehör14 Kommentare

Guten Morgen meine Lieben, vielleicht könnt ihr mir ja helfen. Es geht um unsere Außendienstmitarbeiter /Verkäufer. Sie sollen demnächst ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...