sed - Zeichen finden

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von zst, 26.08.2010.

  1. zst

    zst Foren As

    Dabei seit:
    06.09.2006
    Beiträge:
    95
    Zustimmungen:
    0
    Hallo,

    ich möchte in einer Datei alle Zeilen finden, in denen ein Zeichen vorkommt, das kein Buchstabe und keine Zahl und kein Blank ist.
    Ist das Problem mit sed lösbar?

    Danke für Eure Hilfe!
    Gruß zst
     
  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 Remidemi, 26.08.2010
    Remidemi

    Remidemi Routinier

    Dabei seit:
    17.03.2008
    Beiträge:
    352
    Zustimmungen:
    0
    Ort:
    Südpfalz
    Hi

    grep [^a-zA-Z0-9] datei

    Was genau meinst du mit blank?

    Grüße
     
  4. #3 bytepool, 26.08.2010
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    blank ist Englisch fuer Leerzeichen.

    Warum soll es sed sein? Ich wuerd auch grep nehmen:
    Code:
    grep -v '[[:alnum:]]' $file | grep -v '[[:space:]]'
    
    Lies: filtere erst nach Alphanumerischen Zeichen, und danach nach Leerzeichen.

    mfg,
    bytepool
     
  5. #4 floyd62, 26.08.2010
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    Hi,

    denke, bytepool meint wohl etwas wie
    Code:
    grep "[^[:alnum:]]" datei | grep "[^[:space:]]"
    
    oder
    Code:
    grep "[^[:alnum:][:space:]]" datei
    
    aber den "grep" von remidemi kann man natürlich auch einfach als
    Code:
    sed -ne "/[^a-zA-Z0-9]/p" datei
    
    schreiben und zu
    Code:
    sed -ne "/[^a-zA-Z0-9 \t]/p" datei
    
    erweitern, um damit auch Blanks (Spaces und Tabs) zu erlauben ...

    Gruss
     
  6. zst

    zst Foren As

    Dabei seit:
    06.09.2006
    Beiträge:
    95
    Zustimmungen:
    0
    gelöst

    Für die schnelle Lösung vielen Dank an alle !!!

    Es funktionieren nur diese zwei Varianten:
    Code:
    grep "[^[:alnum:][:space:]]" datei
    sed -ne "/[^a-zA-Z0-9 \t]/p" datei
    
    Alle PIPE-Variationen bringen nicht das korrekte Ergebnis, weil alle erlaubten Zeichen in einer Zeile vorkommen.

    Vielen Dank für Eure Mühe !!!

    Gruß zst
     
Thema:

sed - Zeichen finden

Die Seite wird geladen...

sed - Zeichen finden - Ähnliche Themen

  1. Unbekannt Zeichen in einer Datei finden

    Unbekannt Zeichen in einer Datei finden: Brauche Eure Hilfe!!!! Bekomme täglich Interface mit Dateien in denen des öfteren Zeichen vorhanden sind die mein Programm nicht versteht und...
  2. Zeichen finden und ersetzen

    Zeichen finden und ersetzen: Hi! Ich möchte bei meinen Formulare BB-Code ermöglichen. Habe es so versucht klappt aber nicht: $text = eregi_replace ( "[b][/b]", "<b></b>",...
  3. Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...

    Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...: Ich habe eine Textdatei in der ich Einträge bis zum 3. Leerzeichen mit den restlichen Zeilen (auch nur bis 3. Leerzeichen) vergleichen muss und...
  4. 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...
  5. 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...