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

Letzten 50 Zeilen einer TXT auslesen und neue TXT uploaden

Frage Entwicklung Batch & Shell

Mitglied: DanielS

DanielS (Level 1) - Jetzt verbinden

18.06.2007, aktualisiert 12:46 Uhr, 4148 Aufrufe, 4 Kommentare

Hallo zusammen,
ich habe eine Logfile.txt in der etwa 3000 Zeilen enthalten sind. Jede Zeile sieht folgendermaßen aus:

Logfile.txt:
"2007-06-17 yanu_bigstar by alpha-1"

Jetzt möchte ich eine neue "Short_Logfile.txt" erstellen die nur die letzten 50 Einträge der Logfile.txt enthält.

Diese möchte ich dann auf einen anderen FTP hochladen.

Bis jetzt habe ich folgendes (es wird nur die Datei auf den FTP kopiert, aber nicht bearbeitet):

upload1.txt:
Username@clancid.com
password
mput Logfile.txt
bye

pao.batch
ftp -i -s:upload1.txt clancid.com



Kann mir da jemand weiterhelfen?
Gleich vorne weg, ich habe noch kaum Erfahrung mit batch Dateien

Danke schonmal

Daniel
Mitglied: Biber
18.06.2007 um 02:20 Uhr
Moin DanielS,

willkommen in Forum.

Ich würde folgende Zeilen in Deine Batchdatei einschieben (oder in einem separaten Schritt machen):

01.
:: -----snipp MakeALastLinesLog.bat 
02.
@echo off & Setlocal  
03.
for /f "delims=:" %%i in ('findstr /n . Logfile.txt') do set /a "max=%%i" 
04.
:: Jetzt ist %max% z.B. = 3000 
05.
Set /a max=max - 50 
06.
::  Jetzt ist %max% z.B. = 2950... und diese 2950 Zeilen überspringen wir 
07.
More +%Max% LogFile.txt >ShortLogFile.txt 
08.
:: -----snapp MakeALastLinesLog.bat
Dein Gesamtgewusel müsste dann sinngemäß so aussehen:
01.
---upload1.txt: 
02.
Username@clancid.com 
03.
password 
04.
mput ShortLogfile.txt 
05.
bye
01.
::-----pao.batch 
02.
Call <i>Lw:\pfad\</i>MakeALastLinesLog.bat 
03.
:: ...oder statt des CALLs den Schnipsel von oben hier rein setzen.. 
04.
ftp -i -s:upload1.txt clancid.com
So kannst Du das frisch erzeugte ShortLogFile.txt anstelle des LogFiles hochschicken.

Vor "LogFile.txt" bzw. "ShortLogFile.txt" musst Du ggf. noch einen Pfad ergänzen.
Soll ja nur eine Skizze sein und ist wie immer ungetestet.

Grüße
Biber
[Edit] Habe den von bastla (THX!) behobenenen Tippfehler im Source ausgebessert.
Also nicht über die folgenden Kommentare wundern. Ich hatte oben fehlerhaft gepostet:
... for /f "delims=:" %%i in ('findstr /n . Logfile.txt) do set /a "max=%%i"
[/Edit]
Bitte warten ..
Mitglied: DanielS
18.06.2007 um 11:51 Uhr
Danke schonmal für die Mühe, ich habe alle 3 Dateien auf meinem Desktop, aber leider kommt:

Die Datei "'findstr /n . Logfile.txt" kann nicht gefunden werden.

Obwoh diese auch auf meinem Desktop ist.

Grüße
Daniel
Bitte warten ..
Mitglied: bastla
18.06.2007 um 12:31 Uhr
Hallo DanielS!

Wenn Du in der folgenden Zeile
01.
for /f "delims=:" %%i in ('findstr /n . Logfile.txt<u>'</u>) do set /a "max=%%i"
nach Logfile.txt das schließende Apostroph einbaust, sollte das klappen.

Grüße
bastla
Bitte warten ..
Mitglied: DanielS
18.06.2007 um 12:46 Uhr
wahnsinn - ich danke dir vielmals, ihr habt mir echt sehr weitergeholfen.
Tolles Forum!

Grüße
Ein glücklicher Daniel
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
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 ...