Administrator Startseite

Apple

iOS, iTunes, Mac OS X

Entwicklung

Assembler, BASIC, Batch & Shell, Bibliotheken & Toolkits, CSS, C und C++, Datenbanken, HTML, IDE & Editoren, Installation, Java, JavaScript, KiXtart, Lizenzierung, Pascal & Delphi, Perl, PHP, Python, VB for Applications, Visual Studio, Webentwicklung, XML

Hardware

Benchmarks, Cluster, CPU, RAM, Mainboards, Drucker und Scanner, Festplatten, Raid, Grafikkarten & Monitore, LAN, WAN, Wireless, Multimedia & Zubehör, Notebook & Zubehör, Router & Routing, SAN, NAS, DAS, Server-Hardware, Sonstige Peripheriegeräte, Speicherkarten, Switche und Hubs

Internet

Blogs, CMS, Domain Registrierung, E-Books, E-Business, E-Mail, Flatrates, Hosting & Housing, Informationsdienste, Instant Messaging, Onlinedienste, SEO, Server, Soziale Netzwerke, Utilities, Webbrowser

Linux

Apache Server, Debian, Desktop, Netzwerk, OpenOffice, LibreOffice, RedHat, CentOS, Fedora, Samba, Suse, Tools & Utilities, Ubuntu, Userverwaltung

Microsoft

Exchange Server, Hyper-V, Installationsprobleme, Netzwerk, Office, Outlook & Mail, Systemdateien, Tools & Utilities, Userverwaltung, Visual Studio, Windows 7, Windows 8, Windows Phone, Windows Server, Windows Vista, Windows XP

Multimedia

Audio, Digitiales Fernsehen, Grafik, Icons, Schriftarten, Video

Netzwerke

Cluster, DNS, DSL, VDSL, Groupware, Grundlagen, ISDN & Analoganschlüsse, LAN, WAN, Wireless, Monitoring, Netzwerkmanagement, Netzwerkprotokolle, Router & Routing, TK-Netze & Geräte, UMTS, EDGE & GPRS, Voice over IP

Off Topic

Administrator.de Feedback, Humor (lol), Papierkorb

Sicherheit

Backup, Erkennung und -Abwehr, Firewall, Grundlagen, Informationsdienste, Rechtliche Fragen, Sicherheits-Tools, Tipps & Tricks, Verschlüsselung & Zertifikate, Viren und Trojaner

Sonstige Systeme

Google Android, MikroTik RouterOS, Novell Netware, Sun Solaris

Virtualisierung

Hyper-V, KVM, Vmware, Xenserver

Weiterbildung

Aus- und Weiterbildung, Ausland, Schulung & Training, Studentenjobs & Praktikum

Zusammenarbeit

Suche Projektpartner
Weniger Werbung?
Cover IT-Administrator
Die Verwaltung der IT-Landschaft wird immer komplexer und die explosionsartige Vermehrung mobiler Clients ist nur eine der vielen Erschwernisse. Zeit also für die August-Ausgabe des IT-Administrator Magazins, die sich das Thema Netzwerk- & Systemmanagement zum Schwerpunkt setzt. So gehen wir in unserer Praxis-Rubrik etwa darauf ein, wie Sie mit der freien Monitoring-Alternative NetXMS Ihr Netzwerk im Auge behalten und mit Hilfe der PowerShell DHCP und ... mehr
Mitglied: racer1601
25.03.2012, aktualisiert 18:04 Uhr, 3267 Aufrufe, 4 Kommentare

GELÖSTUbuntu Zeilen Löschen aus .txt Datei

Hallo

ich habe hier noch ein Problem mit dem auslesen und löschen von Zeilen in einem Logfile

Zum Problem:

Die zeilen Anzahl des Logfiles BachupLog.txt (Der Schreibfehler ist richtig so) soll eingelesen werden und auf eine länge von 150 Zeilen gekürst werden wenn er länger ist als 150 Zeilen.
Die Shell geht bis zum punkt: zeilen_gesamt=$(sed -n '$=' $LOG) und wertet diese auch aus aber dann bricht das Programm ab. Habe schon eine weile rum probiert aber komme nicht auf den Fehler. Unter dem CODE hänge ich mal Bilder an.

Hier mal eine test shell:
01.
#!/bin/bash -x 
02.
# Sicherungsscript.sh 
03.
#*****************************************# 
04.
#***           BackupScript            ***# 
05.
#***            00.03.2012             ***# 
06.
#***       V.0.1Linux A. Schmidt       ***# 
07.
#*****************************************# 
08.
DATE=$(date +%Y.%m.%d) 
09.
TIME=$(date +%H:%M) 
10.
#Variable DATE und TIME erstellen 
11.
####################################################### 
12.
LOG=/home/administrator/BachupLog1.txt 
13.
zeilen_max=150 
14.
zeilen_gesamt=$(sed -n '$=' $LOG)


bis hier kommt die shell wenn ich es laufen lasse dann kommt fehler in Zeile 97 und er hat dann auch nichts getan.

01.
if [ $zeilen_gesamt -gt 150 ]; 
02.
    then 
03.
         echo "#################hinter if###############" >> $LOG 
04.
         let zeilen_loeschen=$zeilen_gesamt-$zeilen_max 
05.
         sed -i "1,${zeilen_loeschen}d" $LOG 
06.
         echo "#############Prüfung der Länge wurde durchgeführt############ >> $LOG 
07.
fi 
08.
#####################################################

Ich hoffe es kann mir jemand helfen!

Klicken Sie auf das Bild, um es zu vergrößern - 1847732db470e5d196cc74d3d698b757.jpg


Klicken Sie auf das Bild, um es zu vergrößern - d2ad641d02be37dd35a12849ef3c498c.jpg
Mitglied: bastla
25.03.2012 um 18:27 Uhr
Hallo racer1601!

Wäre nicht eher "head tail" das, was Du suchst?

Grüße
bastla
Bitte warten ..
Mitglied: hmarkus
25.03.2012 um 19:52 Uhr
Hallo auch in diesem Thread zum ähnlichen Thema face-wink

Vielleicht ist sed ein bisschen zu kompliziert für solch einfachen Dinge.

Zeilenzahl der Datei
lines=`wc -l $LOG | cut -d " " -f 1` 
zu löschende Zeilen (Anzahl)
linestodelete=`expr $lines - 150`
und dann sollte Dein Code für sed eigentlich funktionieren
sed -i "1,$linestodelete d" $LOG


Markus
Bitte warten ..
Mitglied: Lochkartenstanzer
25.03.2012 um 20:51 Uhr
Ich würd' s so lösen:

tail -n $zeilen_max  $LOG >$tempfile 
mv $tempfile $LOG

lks
Bitte warten ..
Mitglied: racer1601
28.03.2012 um 12:32 Uhr
Danke euch beiden geht jetzt alles!

Alex
Bitte warten ..
Neuester Wissensbeitrag
Windows 8
Tipp: Sofern Sie auf dem Microsoft Surface oder einem anderen Microsoft Tablet PC einen Screenshot einer App anfertigen wollen - jedoch keine Tastaturerweiterung am Surface installiert haben, hat Microsoft ... von GabrielSix, in Windows 8
Diese Inhalte könnten dich auch interessieren
Batch & Shell
Frage: Hallo, ich habe folgendes Problem, bei dem ich nicht so recht weiß, wie man es anpacken soll. Ich weiß leider nicht, ob Batch das Richtige dafür ist, ich ... von Sven289, in Batch & Shell
Batch & Shell
Frage: Hallo, in unserer Feuerwehr bekommen wir bei einer Alarmierung auch immer eine E-Mail die auf unserem Server Empfangen wird und wodurch auch die PC's in der Einsatzzentrale gestartet ... von PXProf, in Batch & Shell
Batch & Shell
Frage: Hallo, ich habe ein erneutes Anliegen und weis nicht recht wie ich das bewerkstelligen soll. Es existiert eine "Beispiel.log" Datei in der mir ein Batch-Script nach den Worten ... von BlattlausOG, in Batch & Shell
Batch & Shell
Frage: Hallo Community, ich möchte per TCL-Script die Uhrzeit und das Datum des Systems auslesen und einer Textdatei übergeben. Dabei soll nach jeder Ausführung des Scripts das aktuelle Datum ... von BlattlausOG, in Batch & Shell
Batch & Shell
Frage: Hallo, ich habe mir ein kleines Sicherungsscript gebastelt, und würde dieses gerne vereinfachen. Im Augenblick habe ich für jeden zu sichernden Rechner einen Abschnitt in der BAT. Schön ... von hoffi3d, in Batch & Shell
Heiß diskutierte Inhalte
Hardware
Frage: Hallo liebe Mit-Administratoren, ich sitze hier gerade an einem Fall, bei dem ich nicht weiß, ob ich lachen, oder weinen soll. Kunde hat Firma den Auftrag gegeben, für ... von Lonesome Walker, in Hardware
Server
Frage: Guten Tag, es ist mir fast schon peinlich hier zu fragen, aber ich komme gerade einfach nicht weiter. Ich habe eine Webseite, die ich gerne verschlüsseln möchte. Bei ... von mcmart, in Server
Netzwerk
Frage: Habe einen Stand PC mit Win7Home und einen HP Laptop 6730b mit Win7 Home - auf beiden habe ich uvnc (Ver. 1.2.0.1 ) installiert. Vom Stand-PC zum Laptop ... von Kornhans, in Netzwerk
Vmware
Frage: hallo zusammen, ich habe zwei exakt identische server die ich gerne so betrieben hätte, dass sich auf beiden systemen immer das selbe an daten befindet: das bedeutet: Auf ... von obi-wan-kenobi, in Vmware
DNS
Frage: Hallo zusammen Nehmen wir an wir haben folgendes Beispiel: nslookup mx.meindomain.de - zeigt die IP Adresse meines Mail Servers an: 123.123.123.123 nslookup 123.123.123.123 - löst folgendes auf: static.providor.de ... von Poba88, in DNS