Leerzeichen, Großbuchstaben, HTML Tags entfernen mittels SED

Diskutiere Leerzeichen, Großbuchstaben, HTML Tags entfernen mittels SED im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hallo zusammen. Ich habe folgendes Anliegen: Ich habe eine HTML Datei mit entsprechenden Tags usw. . Diese möchte ich in eine normale Textdatei...

  1. #1 Bamboo156, 13.09.2013
    Zuletzt bearbeitet: 13.09.2013
    Bamboo156

    Bamboo156 Grünschnabel

    Dabei seit:
    13.09.2013
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo zusammen.

    Ich habe folgendes Anliegen:
    Ich habe eine HTML Datei mit entsprechenden Tags usw. . Diese möchte ich in eine normale Textdatei mittels sed konvertieren und dabei diverse Aufgaben erledigen. Der Text zwischen den Tags <hx> und </hx> soll in Großbuchstaben mit einem Leerzeichen zwischen den Buchstaben, drei Leerzeichen zwischen den Worten und abschließend noch die Tags entfernt werden.

    Ich lerne gerade Linux/sed/Terminal kennen und hänge hier an vielleicht trivialen Dingen.

    Ich war natürlich nicht ganz untätig und habe gerade folgende Dinge bereits gemacht.

    s!\<h1\>.*\<h1\>!\U&!g; #für die Großbuchstaben
    s!.!& !g; #Leerzeichen, aber nach JEDEM Zeichen. Nicht nur innerhalb der Tags.
    s!<[^>]*>!!g; #alle Tags entfernen

    Dazu habe ich noch alle HTML Umlaute in "normale" Umlaute geändert und die prinzipielle Ausgabe in .txt klappt auch. Ich schreibe das alles in einem sed-Skript mittels gedit bzw vim.

    Ich wäre euch dankbar für Tipps und Hilfe.
     
  2. #2 fresh$free, 04.10.2013
    fresh$free

    fresh$free Jungspund

    Dabei seit:
    03.10.2013
    Beiträge:
    22
    Zustimmungen:
    0
    Mal auf die Schnelle, vielleicht hilft es ja:

    Code:
    #!/bin/bash
    html='aaa <H1>bla blub blob</H1> bbb'
    #echo "vorher: $html"
    # Header finden und extrahieren, in Grossbuchstaben wandeln
    
    #was vor dem h1 steht merken
    preheader=$(echo $html|sed -r 's:(.*)(<H[0-9]>.*</H[0-9]>)(.*):\1:')
    echo "Preheader:"
    echo "$preheader"
    
    #was nach dem h1 steht merken
    postheader=$(echo $html|sed -r 's:(.*)(<H[0-9]>.*</H[0-9]>)(.*):\3:')
    echo "Postheader"
    echo "$postheader"
    
    # header part suchen
    html=$(echo $html|sed -r 's:(.*)(<H[0-9]>)(.*)(</H[0-9]>)(.*):\U\3:')
    echo $html
    
    
    # header umbauen....
    #   Tags entfernen
    html=$(echo $html|sed -r 's:<[^>]*>::g')
    echo "evt tags im header entfernen:"
    echo "$html"
    
    #    1 LZ -> 3 LZ
    html=$(echo $html|sed -r 's/ /   /g')
    echo "ein <space> wird zu 3 <space>:"
    echo "$html"
    
    # 1 LZ zwischen jeden Buchstaben
    html=$(echo $html|sed -r 's:[^^][a-z]*:& :g')
    echo "<space> zw. jedem Buchst einfügen:"
    echo "$html"
    echo ""
    echo "jetzt wieder komplett:"
    echo "$preheader $html $postheader"
    
     
  3. #3 Bamboo156, 11.10.2013
    Bamboo156

    Bamboo156 Grünschnabel

    Dabei seit:
    13.09.2013
    Beiträge:
    2
    Zustimmungen:
    0
    Hey, danke fuer die Antwort. Das hat mir serh weitergeholfen. :)
     
Thema:

Leerzeichen, Großbuchstaben, HTML Tags entfernen mittels SED

Die Seite wird geladen...

Leerzeichen, Großbuchstaben, HTML Tags entfernen mittels SED - Ähnliche Themen

  1. 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...
  2. Textdatei / AWK / Leerzeichen - Problem

    Textdatei / AWK / Leerzeichen - Problem: Hi liebes Forum, vielleicht könnt ihr mir bei einer kleinen Shell-Geschichte helfen, da ich kein Programmierer bin, und auf der Shell noch recht...
  3. Problem mit Leerzeichen im Namen

    Problem mit Leerzeichen im Namen: Guten Morgen. Ich habe hier ein kleines Problem mit Leerzeichen. Ich habe dieses Script hier welches Folder mit *.app die kein Leerzeichen im...
  4. Wie finde ich Leerzeichen im dateinamen

    Wie finde ich Leerzeichen im dateinamen: Hallo, ich habe ein script mit einer Schleife über alle Dateien in einem Verzeichnis. #!/bin/sh for i in `ls *` do echo $i...
  5. Script Zeilenumbruch -> Leerzeichen

    Script Zeilenumbruch -> Leerzeichen: Wie muß folgendes Script für die Bash aussehen: Ich habe eine Textdatei mit einer Liste von (distributionseigenen)-Programmen, die ich...