Vergessen?
Vergessen?
Administrator Startseite

Apple

iOS, iTunes, Mac OS X

Entwicklung

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

Hardware

Benchmarks, @Server Cluster, CPU, RAM, Mainboards, Drucker und Scanner, Festplatten, Raid, Grafikkarten & Monitore, @Netzwerkkarten, Multimedia & Zubehör, Notebook & Zubehör, @Router und 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
Cover IT-Administrator
Für die Mai-Ausgabe hat sich das IT-Administrator Magazin den Schwerpunkt "Messaging & Collaboration" auf die Fahnen geschrieben. Lesen Sie darin, wie Sie die Open Source-Groupware Open-Xchange App Suite in Betrieb nehmen und administrieren. Außerdem zeigen wir Ihnen, wie Sie sich vor Viren und Spam mit Proxmox 3.1 schützen. Nicht zuletzt befassen wir uns mit der administrativen Sicherheit und Überwachung in Exchange Server 2013. In den ... mehr
Mitglied: racer1601
0
racer1601 am 25.03.2012, aktualisiert um 18:04 Uhr, 2915 Aufrufe

Ubuntu 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
4 Antworten
Mitglied: bastla
0
bastla am 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
0
hmarkus am 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
0
Lochkartenstanzer am 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
0
racer1601 am 28.03.2012 um 12:32 Uhr
Danke euch beiden geht jetzt alles!

Alex
Bitte warten ..
Mehr Neuester Wissensbeitrag
Windows Phone
Anleitung: In diversen Foren ist zu lesen, daß Windows Phone 8 keine WAV-Dateien von der AVM Fritz Box wiedergeben kann. Mit Windows Phone 8.1 funktioniert es. Das Gerät kann ... von DerVolker, Thema: Windows Phone
Mehr Diese Inhalte könnten dich auch interessieren
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, Thema: Batch & Shell
PHP
Frage: Hi, Leute habe mehrere txt Dateien auf einem FTP Server und möchte diese Daten in eine mysql DB auf einem anderen Server eintragen. Die Dateien werden per Batch ... von dax4fun, Thema: PHP
Batch & Shell
Frage: Hallo zusammen, ich stehe gerade vor einem Problem und hätte eine Frage zur Umsetzung. Ich bin mit der Batch Programmierung nicht wirklich vertraut. Folgendes Problem: Ich erzeuge dynamisch ... von Chris1979, Thema: Batch & Shell
Batch & Shell
Frage: Hallo, ich erstelle zwei Dateien, eine jede Abend mit dem Inhalt online.txt HOST PC001 ist online HOST PC023 ist online usw Damit prüfe ich welcher PC Abends noch ... von angebissener-apfel, Thema: Batch & Shell
Java
Frage: Hallo Leute, bei einer bestehenden Webanwendung möchte ich auf der html Seite, das Änderungsdatum einen bestimmen Datei txt die auf der Server Festplatte liegt ausgeben. Anwendung läuft auf ... von horstvogel, Thema: Java
Heiß diskutierte Inhalte
Windows Server
Frage: Guten Morgen zusammen, wir, ein kleines Unternehmen mit 12 Mitarbeitern arbeiten momentan auf einem SBS2008. Die Administration erfolgt aktuell noch durch mich (eigentlich kein ausgebildeter IT Fachmann, jedoch ... von Pate661, Thema: Windows Server
Festplatten, Raid
Frage: Hallo zusammen ich hoffe es bricht nicht gleich eine Flut von Häme über mich herein wenn ich ein XP Problem beschreibe ;) Ich habe gerade eine 2.5" HD ... von RaidMan, Thema: Festplatten, Raid
Windows 7
Frage: Hallo, ich finde einen vom Kunden installierten Rechner mit w7 prof. Einziger user ist admin der aber in einigen Verzeichnissen nicht schreiben darf. ( die zu installierende software ... von schattenhacker, Thema: Windows 7
Festplatten, Raid
Frage: Hallo zusammen, ich habe noch eine 500 GB SATA Platte rumliegen, welche ich in einen alten Pentium 4 (Fileserver) einbauen wollte. Der P4 hat das ASROCK 775v88 Mainboard, ... von bytetix, Thema: Festplatten, Raid
CPU, RAM, Mainboards
Frage: Ich habe folgendes Problem: Bei Anschluss von Monitor mit VGA-Kabel habe ich kein Bild, es liegt nicht am Bildschirm, habe mehrere ausprobiert. Außerdem bleibt das Piep beim hochfahren ... von Anna2701, Thema: CPU, RAM, Mainboards