sed: alle Zeilen entfernen die keine Zahl enthalten

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von aspire_5652, 12.06.2009.

  1. #1 aspire_5652, 12.06.2009
    Zuletzt bearbeitet: 12.06.2009
    aspire_5652

    aspire_5652 Tripel-As

    Dabei seit:
    02.01.2008
    Beiträge:
    198
    Zustimmungen:
    0
    Hallo,
    ich habe eine Datei welche vom Aufbau her so aussieht:
    Code:
    bla
    blub
    
    1073643
    
    foobar
    105474
    Ich möchte gern alle Zeilen entfernen die keine Zahl enthalten. Die Datei soll dann so aussehen:
    Code:
    1073643
    105474
    Leider komme ich grade nicht weiter.
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    habe es selbst hinbekommen:

    sieht zwar etwas scheiße aus, aber funktioniert:

    Code:
    sed s/^[^0-9]*// input.txt | sed -e '/^ *$/d' > ouput.txt
     
  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. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.053
    Zustimmungen:
    8
    Code:
    grep [[:digit:]] $datei
    ?
     
  4. #3 rikola, 12.06.2009
    Zuletzt bearbeitet: 12.06.2009
    rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Code:
    grep [B]-v[/B] [[:digit:]] $datei
    , oder?
    [edit=rot-werd-und-schaem] ach nee, ich war's der falsch gelesen hat...[/edit]
     
  5. #4 aspire_5652, 13.06.2009
    aspire_5652

    aspire_5652 Tripel-As

    Dabei seit:
    02.01.2008
    Beiträge:
    198
    Zustimmungen:
    0
    Ihr wertet es nicht glauben, aber ich hatte eine Datei mit über 3,5Mio Zeilen. Das "sed"-Kommando hatte die Datei in ca 10-15 sec bearbeitet. Das "grep"-Kommando habe ich dann nach ca 1-2 min abgebrochen und war nur zu 1/3 mit der Datei fertig.
     
  6. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Seltsam, bei mir ist es eher andersherum:
    Code:
    #> wc greptest.text 
     4000000  3599315 21991049 greptest.text
    #> time sed s/^[^0-9]*// greptest.text | sed -e '/^ *$/d' > output.text
    
    real    0m25.974s
    user    0m23.169s
    sys     0m0.740s
    #> ~$ time grep [[:digit:]] greptest.text > output.text
    
    real    0m4.175s
    user    0m3.396s
    sys     0m0.472s
    tg@nachtigaller:~$ 
    
    Also grep ist etwa 4x schneller.

    Uebrigens machen die beiden Befehle nicht dasselbe: grep waehlt tatsaechlich die Zeilen aus, die IRGENDWO eine Ziffer enthalten, waehrend Dein sed nur die Zeilen loescht, die an der ersten Stelle keine Ziffer stehen haben.
     
Thema:

sed: alle Zeilen entfernen die keine Zahl enthalten

Die Seite wird geladen...

sed: alle Zeilen entfernen die keine Zahl enthalten - Ähnliche Themen

  1. Alle 70 Zeilen mehrere Leerzeilen einfügen

    Alle 70 Zeilen mehrere Leerzeilen einfügen: Hi Forum, da ich mich leider mit AWK überhaupt nicht auskenne, brauche ich eure Hilfe. ?( Ich habe eine Datei mit einer variablen Anzahl an...
  2. Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen

    Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen: Hallo, ich habe ein Verzeichnis, darin enthalten sind mehrere Dateien. Nun möchte ich alle Dateien (Parameter $1) gegen eine konstante Datei...
  3. Parallela 16 Kerne

    Parallela 16 Kerne: Hallo, findet ihr den kleinen Computer zu teuer? Der soll etwa 130 Dollar kosten. Ich glaube es sind doch 18 Kerne :-) Ich fand damals Apple...
  4. Debian VM Klonen und parallel betreiben? Systemanpassungen

    Debian VM Klonen und parallel betreiben? Systemanpassungen: Hallo, ich habe vor eine Debian Maschine als Prototyp aufzusetzen... (als vSphere VM).... Diese Maschine will ich dann x-mal klonen und in div....
  5. Git 2.8 unterstützt paralleles Laden von Submodulen

    Git 2.8 unterstützt paralleles Laden von Submodulen: Mit der Freigabe von Git 2.8.0 haben die Entwickler das Quellcode-Verwaltungssystem um diverse neue Funktionen ergänzt. Die wohl prominenteste...