Probleme mit sed: im Text eine Zeile in Großbuchstaben ?

R

Riqq

Grünschnabel
Hallo,

ich hab folgendes Problem und komme einfach nicht auf die Loesung.
(Dafuer soll ich sed benutzen, kann aber auch mit vi arbeiten oder kombibnieren.)

Es geht darum, dass ich einen html-Text hab und dort EINE Zeile in Großbuchstaben ausfuehren moechte.
Und widerrum eine andere Zeile, die ich in Großbuchstaben ausgefuehren moechte, mit je einem Leerzeichen zwischen den Buchstaben.
Zudem alle Tags entfernen.
(das sind <H1>,</H1> und <H2>,</H1> Zeilen, weiß nicht, ob das wichtig ist?)

Hier mal ein Ausschnitt:

PHP:
"<div class="wrapper">
    <h1 id="seitenueberschrift">Hauptinhalt</h1>
    <a name="inhalt-sprungmarke" id="inhalt-sprungmarke"></a> 
    <h2 class="rubriktitel">
      Datenschutzgrundsätze</h2>" 
<div class="aktuelles_meldung">
      <p>Blaaaablaa, langer Text :P

Hinterher soll das so aussehen:

H A U P T I N H A L T
und :
DATENSCHUTZGRUNDSÄTZE
Der Rest: normal.


sooo, mein code sieht wie folgt aus: ( Achtung Anfaenger :brav: )

sed 's/<[^<>]*>//g; /^[ ]*$/d' _____.html | sed 's/./& /g;s/ $//' | sed y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/



.. Das bezieht sich dann auf den ganzen Text, wird groß und hat ueberall ein Leerzeichen zwischen den Buchstaben. Und bezieht sich nicht auf einzelne Zeilen :S

Was muss ich machen, damit sich nur eine Zeile Großschreiben laesst? (Im Inet hab ich nichts gefunden, oder war zu bloed es zu finden...... ?( )

Danke, ich hoffe ihr koennt mir helfen bzw. mich dies bezueglich aufklaeren :)

Gruß Riqq
 
ich vermute mal, Du wirst nicht drumrum kommen, z.B. erst mal alle h1 in Großbuchstaben + Spaces und alle h2 in Großbuchstaben umzuwandeln. Dann die Tags entfernen.

Daß sich die RegEx auf die komplette Datei auswirken ist "logisch" - sed nimmt die komplette Datei als Eingabestrom und gibt sie auch entsprechend aus. Und wenn Du halt reinschreibst, er soll alle Klein- in Großbuchstaben umwandeln - macht er das. Mit dem kompletten Strom.
 
ich vermute mal, Du wirst nicht drumrum kommen, z.B. erst mal alle h1 in Großbuchstaben + Spaces und alle h2 in Großbuchstaben umzuwandeln. Dann die Tags entfernen.
.

Also meinst du sowas? wie gesagt: Anfaenger. Hab grad erst angefangen und kenn mich jetzt noch nich sooo sehr aus.

: sed 's/Hauptinhalt/H A U P T I N H A L T/g' ____.html | sed 's/Datenschutzgrundsätze/DATENSCHUTZGRUNDSÄTZE/g' | sed 's/<[^<>]*>//g; /^[ ]*$/d'


weil das hatte ich schon, darauf sagte man mir, dass das so nicht gedacht war und ich bestimmte Zeilen groß machen kann. Verwirruuuung :hilfe2:
Oder ich hab dich jetzt falsch verstanden. :think:

Gruß Riqq :)
 
wenn "man" Dir sagte, das sowas nicht so gedacht war - weiß "man" meist, was er genau haben wollte. Frag' doch "man" noch mal - "man" kann Dir sicher genauere Infos oder Tips geben. Die teilst Du uns dann vielleicht auch mit. "Rate mal mit Rosenthal" ist nämlich schon längers nicht mehr im Programm

Und dann ließ noch mal durch, was ich _genau_ geschrieben habe, wie Du wohl die zu bearbeitenden Zeilen (bzw. Textbereiche) erkennen kannst - zumindest nach dem, was Du von der hier weitergegeben hast, was "man" von Dir will.

Ein Hausaufgabenforum sind wir übrigens nicht, aber wir geben gerne Tipps, wie Du es dann selbst hinbekommst...
 
Nein, da sollte jetzt nicht so rueberkommen.. :think:
Ich moechte nicht, dass ihr mir den ganzen Code preis gebt oderso!

Nur man sagte, ich solle diesen html-Text so bearbeiten mit sed und/oder vi, dass da hinterher ein "normaler" Text herraus kommt, indem ich
~ die Tags entferne
~ die H1 Zeile in Großbuchstaben und zw. den Buchstaben Leerzeilen habe und
~ die H2 Zeile in Großbuchstaben habe

und joa, abeeeer:
nun hat sich rausgestellt, dass das nicht mehr von gebrauch is :dreht:
haette ich mir das auch sparen koennen.
Danke trotzdem!
Gruß Riqq :winke:
 

Ähnliche Themen

CentOS 5.8 –SQL Abfrage– HTML wird generiert und daraus müssen mehrere Mails versendet werden

Leerzeichen, Großbuchstaben, HTML Tags entfernen mittels SED

Text mit mehreren Zeilen und Sonderzeichen ersetzten

Zeilen kopieren mit SED

Mehrzeiligen String mittels sed ersetzen

Zurück
Oben