bestimmte Zeile(n) in Datei löschen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Honza, 01.09.2006.

  1. Honza

    Honza Grünschnabel

    Dabei seit:
    31.08.2006
    Beiträge:
    3
    Zustimmungen:
    0
    Hallo

    Ich habe heute nochmal ne Frage:

    Wie kann ich in einer Datei eine bestimmte Zeile löschen, in Abhängigkeit von einer Zahl in dieser Zeile.
    z.B.:
    1 18 12 14 50.000 38.7660 50.06 2.6
    1 18 13 15 5.000 8.2280 71.19 1.4
    1 18 14 16 5.000 14.3972 69.52 2.0
    1 18 15 17 0.500 8.7846 163.40 1.4
    1 18 16 18
    1 16 2 4 0.500 100000.5576 491.82 3.3
    1 16 3 5 0.500 9.1035 433.35 2.3
    1 16 4 6 5.000 27.0530 226.64 2.7

    In einer Zeile (hier 5; soll aber Variable sein) ist der 5. Wert=0 bzw leer.
    Wenn das so ist dann sol es gelöscht werden.

    Was noch sehr erstrebenswert für mich wäre wenn ich das Löschen der Zeilen nicht nur vom Wert=0 abhängig mache, sonder z.B. auch Zeilen mit Wert>100 löschen könnte.

    MIt einem sed bzw. awk print Befehl geht es bestimmt, doch als Anfänger
    finde ich einfach nicht die richtige Systax.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Wolfgang, 01.09.2006
    Zuletzt bearbeitet: 01.09.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Schnellschuss mit awk:
    Code:
    $ awk '($5 !="" && $5 != 0 && $5 <= 100){print $0}' zahldatei >neuedatei && cp neue_datei zahldatei && rm -f neuedatei
    
    Ich habe deshalb awk genommen, da Zahlenvergleich mit sed etwas sehr tricky ist. (von sich aus nicht möglich, da sed nur Strings kennt)

    Natürlich gibt es noch viele andere Methoden.

    Gruß Wolfgang
     
Thema: bestimmte Zeile(n) in Datei löschen
Besucher kamen mit folgenden Suchen
  1. python programm zeile löschen

    ,
  2. awk zeilen löschen

Die Seite wird geladen...

bestimmte Zeile(n) in Datei löschen - Ähnliche Themen

  1. Wie kann ich x Zeichen hinter einem bestimmten Wort ausgeben ?

    Wie kann ich x Zeichen hinter einem bestimmten Wort ausgeben ?: In mehreren Dateien ist immer mehrfach ein bestimmtes Wort enthalten, gefolgt von einem "=". Ich möchte mir die dahinter folgenden 10 Zeichen...
  2. Zeichen an Zeilenanfang für bestimmten Zeilenbereich einfügen

    Zeichen an Zeilenanfang für bestimmten Zeilenbereich einfügen: Hallo, ich würde gerne in einem Textdokument, z.B. von Zeile 10 - 18, an den Zeilenanfang ein # einfügen. Habe mir schon diverse Seiten zu SED...
  3. iptables blocke nur von bestimmter ip

    iptables blocke nur von bestimmter ip: Hallo, ich habe ein kleines Heimnetzwerk mit einem Router unter openWRT. Dort kann ich mittels iptables -I OUTPUT -p udp --dport 53 -m...
  4. Mit bash Skript bestimmte Werte aus Tabelle lesen

    Mit bash Skript bestimmte Werte aus Tabelle lesen: Hallo! Ich beschäftige mich erst seit Kurzem mit bash und bin deshalb noch nicht so fit darin. Und nun habe ich schon ein kleines Problem und...
  5. Kdbus auf unbestimmte Zeit verschoben

    Kdbus auf unbestimmte Zeit verschoben: Nachdem Kdbus Anfang der vergangenen Woche von Rawhide, der Entwicklerversion von Fedora, entfernt wurde, kündigten die Entwickler nun eine...