Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Mit sed Leerzeichen löschen

  1. #1
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Beiträge
    28

    Mit sed Leerzeichen löschen

    Hallo,

    ich habe schon raus gefunden, dass ich mit

    Code:
    sed -e 's/ //g' filename > filename_new
    Leerzeichen aus meiner Datei bekomme.

    Nun möchte ich aber nur Leerzeichen erwischen, die von Buchstaben umgeben sind, also konkret
    Code:
    H A L L O   " L E E R "
    soll zu
    Code:
    HALLO "LEER"
    werden.

    Geht das?

    Danke

  2. #2
    Registrierter Benutzer Avatar von HirschHeisseIch
    Registriert seit
    Nov 2002
    Beiträge
    3.276
    Ja, das geht.
    Mit Regular Expressions.

    Allerdings bin ich da selbst nicht so besonders fit. Müsstest Dir schon selbst raus suchen oder warten bis hier noch jemand antwortet.
    RTFM you have to, young padawan.

  3. #3
    Pinguin! Avatar von John W
    Registriert seit
    Jan 2009
    Beiträge
    490
    Code:
    sed -r ':r s/(\w) (\w)/\1\2/g ; t r'
    sollte es tun.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Mar 2010
    Beiträge
    7
    Sorry Post war Unsinn *obsolet*
    Geändert von iamroot (03.06.10 um 19:15 Uhr)

  5. #5
    Pinguin! Avatar von John W
    Registriert seit
    Jan 2009
    Beiträge
    490
    Zitat Zitat von timmorn Beitrag anzeigen
    Nun möchte ich aber nur Leerzeichen erwischen, die von Buchstaben umgeben sind
    @iamroot:
    1. Ich hoffe, du surfst nicht wirklich als root.
    2. Dein Kommando löscht alle Leerzeichen. <- Hast du gerade schon bemerkt.

  6. #6
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Beiträge
    28
    Cool, danke John W... hat es fast getan. Nur die Leerzeichen bei den " hat es noch ausgelassen. Also sieht mein Bsp nun so aus:

    Code:
    HALLO   " LEER "
    Der Hammer wäre, wenn die auch noch weg wären und schafft man es auch noch, dass aus den 3 nach HALLO 1 wird?

    Vielen Dank!

  7. #7
    Pinguin! Avatar von John W
    Registriert seit
    Jan 2009
    Beiträge
    490
    Das hier könnte unter Umständen zu viel wegnehmen, passt aber auf das Beispiel:
    Code:
    sed -r ':r s/([a-zA-Z"]) ([a-zA-Z"])/\1\2/g ; t r ; s/([a-zA-Z"] ) /\1/g ; s/ ( [a-zA-Z"])/\1/g'
    Geändert von John W (04.06.10 um 12:53 Uhr)

  8. #8
    ..klang damals noch cool. Avatar von Immortal
    Registriert seit
    May 2002
    Beiträge
    212
    Ja, Regex sind die Hoelle. ;]

    Hier eine andere Moeglichkeit:

    Code:
    $ echo ' f o o  " b ar "   c r a zy  "    s tr  a ng e "   w   e  i r d   ' | \
    + perl -pe 's/\s*(\w)\s/$1/g; s/(\w")+/$1 /g'
    foo "bar" crazy "strange" weird
    Es geht sicher noch besser und hat auch immer noch Fehler. Zum Beispiel:

    Code:
    $ echo 'f o o  " ba r "' | perl -pe 's/\s*(\w)\s/$1/g; s/(\w")+/$1 /g'
    foo " bar"
    HTH

Ähnliche Themen

  1. Samba: Kann File nicht löschen, Verz. schon!?
    Von verleihnix4711 im Forum Linux in heterogenen Netzen
    Antworten: 3
    Letzter Beitrag: 14.01.10, 21:26
  2. grep: kleines Problem mit egrep Syntax
    Von s.hase im Forum Anwendungen Allgemein, Software
    Antworten: 2
    Letzter Beitrag: 04.11.06, 16:50
  3. AMD Prozessoren Powersaving bzw. cpu-idle
    Von Basti_litho im Forum Tipps und Tricks
    Antworten: 75
    Letzter Beitrag: 19.09.04, 13:31
  4. problem mit gentoo/emerge
    Von ZuXeZ im Forum System installieren und konfigurieren
    Antworten: 3
    Letzter Beitrag: 08.08.03, 18:26
  5. Mit Sed Leerzeichen in "\ " umwandeln
    Von Menetekel im Forum Linux Allgemein
    Antworten: 4
    Letzter Beitrag: 17.05.03, 19:17

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •