Mit sed Dateistellen und finden und mit markiertem Text ersetzen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Hobbystern, 30.11.2009.

  1. #1 Hobbystern, 30.11.2009
    Hobbystern

    Hobbystern Wahl-Debianer

    Dabei seit:
    02.02.2007
    Beiträge:
    186
    Zustimmungen:
    0
    Ort:
    westl. Ruhrgebiet
    Hi Gemeinde,

    ich habe 2 Dateien, ein "Konstrukt" in HTML, eine CSV mit Daten und Zeilenköpfen.

    In Datei HTML steht zBsp. "PRODUKT1.." - eine Zeile lang
    In Datei CSV steht zBsp. "PRODUKT1.." - ebenfalls eine Zeile lang

    Kann ich mit sed in der CSV diesen Teil suchen und die ganze Zeile kopieren, dann in die HTML anstelle des Platzhalter-Textes einsetzen?

    ggf. hat jemand eine gute Idee - wäre lieb.

    LG Stefan
     
  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 flugopa, 30.11.2009
    flugopa

    flugopa Der lernwillige

    Dabei seit:
    27.05.2006
    Beiträge:
    739
    Zustimmungen:
    0
    Ort:
    München
    eine schnelle (keine Lösung, sondern ein möglicher Anfang) Idee:
    Code:
    fgrep PRODUKT1 datei.csv >datei.html
    Mehr Lösung gibt es bei mehr Info.
     
  4. #3 Hobbystern, 30.11.2009
    Hobbystern

    Hobbystern Wahl-Debianer

    Dabei seit:
    02.02.2007
    Beiträge:
    186
    Zustimmungen:
    0
    Ort:
    westl. Ruhrgebiet
    Hi Flugopa,

    eine gute Idee - mit fgrep bekomme ich somit die ganze Zeile ausgeworfen - das passt.

    Nun haben wir die "Zeile" in der Pipe, könnten damit also zBsp. auch eine Variable belegen, also zBsp. :

    Code:
    VARIABLE1 = "fgrep PRODUKT1 datei.csv"
    Das sollte die gesuchte Zeile in VARIABLE1 speisen - nun würde man das gleiche mit Datei2 "HTML" machen :

    Code:
    VARIABLEHTML = "fgrep PRODUKT1 datei.html"
    und dann per sed das ganze in der Zieldatei einsetzen..:

    Code:
    sed 's/$VARIABLEHTML/$VARIABLE1/g' datei.html > zieldatei.html
    
    Das (sollte) so gehen, oder ? 
    
    
    Zur Erklärung, in der CSV Datei erscheinen Produktbezeichnungen etc. (CSV)
    In der HTML Datei steht der HTML Quellcode - das Konstrukt (HTML) 
    
    Beispiel : 
    
    --CSV--
    [CODE]
    PRODUKT1 - Produktbeispielname - Produktmenge - Produktpreis
    
    --HTML--
    Code:
    <html>
    <body>
    ...
    PRODUKT1-PLATZHALTER
    ...
    </html>
    
    Nun sollte das Skript oben PRODUKT1 in der CSV finden und in eine Variable stecken, dann den Suchbegriff in die VARIABLEHTML weisen, dann sucht sed nach der VARIABLEHTML und ersetzt mit der ersten Variable1 die gesamte Zeile.

    Es fehlt noch die Anweisung an sed die ganze Zeile zu ersetzen, oder die Ziel-HTML Datei enthält nicht mehr als diesen String in einer Zeile..

    Passt das?

    Liebe Grüsse,

    Stefan
     
  5. #4 flugopa, 30.11.2009
    flugopa

    flugopa Der lernwillige

    Dabei seit:
    27.05.2006
    Beiträge:
    739
    Zustimmungen:
    0
    Ort:
    München
    Ich denke, wenn Du die Ausgabe in eine Datenbank "haust" wirst Du am Ende viel flexibler die Daten verwalten können. (z.B. Sortierung nach Bedarf)
    Um wieviel Datensätze wird es mal gehen?
    Wenn es ganz einfach sein darf, kannst Du auch die neu erstellte csv-Datei in einen iframe aufrufen. (siehe unter selfhtml)
     
  6. #5 Hobbystern, 30.11.2009
    Hobbystern

    Hobbystern Wahl-Debianer

    Dabei seit:
    02.02.2007
    Beiträge:
    186
    Zustimmungen:
    0
    Ort:
    westl. Ruhrgebiet
    Hallo zurück,

    die Daten liegen erst in einer Datenbank vor (MsSQL 5.0) - dann hole ich sie mir in eine Excel Maske, bereite sie geringfügig grafisch auf und sende sie dann als html ab - das ganze soll schlichtweg eine repräsentation der aktuellen preisangebote sein.

    Habe ich die Möglichkeit aus Linux auf eine - nicht auf dem PC selber vorhandende MsSQL Datenbank zuzugreifen? [weit weg von meinen Kenntnissen]

    LG Stefan
     
  7. #6 flugopa, 30.11.2009
    flugopa

    flugopa Der lernwillige

    Dabei seit:
    27.05.2006
    Beiträge:
    739
    Zustimmungen:
    0
    Ort:
    München
    JA.
    Wenn ich es vermeiden kann, will ich mit MS-Produkten nichts mehr machen.
     
  8. #7 Hobbystern, 30.11.2009
    Hobbystern

    Hobbystern Wahl-Debianer

    Dabei seit:
    02.02.2007
    Beiträge:
    186
    Zustimmungen:
    0
    Ort:
    westl. Ruhrgebiet
    Siehst Du, wir sehen es nahezu gleich.

    Ich versuche MS zu umgehen wo es geht, in der DB Herkunft geht es nicht, in Excel nicht da es firmenweit ist - der Einzige weg den ich gehen kann ist die Ausgabe am Debian System abzufangen und zu verarbeiten - oder zu lernen wie ich per Linux an MSSQL Quellen herankomme - das ist mir gelinde gesagt aber ein zu großes Projekt, da rein SQL Basiert, vermute ich.

    LG Stefan
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. #8 flugopa, 30.11.2009
    flugopa

    flugopa Der lernwillige

    Dabei seit:
    27.05.2006
    Beiträge:
    739
    Zustimmungen:
    0
    Ort:
    München
    Wenn Dein Chef die Aufgabe stellt, dann sollte er auch für die Schulung/Endproduke zahlen.
    Frage mal den Boardbetreiber von unixboard.de, was eine Werbung hier kostet.
     
  11. #9 Hobbystern, 01.12.2009
    Hobbystern

    Hobbystern Wahl-Debianer

    Dabei seit:
    02.02.2007
    Beiträge:
    186
    Zustimmungen:
    0
    Ort:
    westl. Ruhrgebiet
    Hey und Guten Morgen,

    naja - leider müsste ich mich dann selber fragen.

    Hier sieht die Konstellation so aus - das eine Verwaltungssoftware seit 1998 läuft, alle historischen Daten sitzen in dem Ding und die SW ist auch (im besten Falle) nur mit MsSQL lauffähig. Oracle o.ä. würde ich da deutlich vorziehen - wird sicherlich auch irgendwann eingesetzt, jedoch nicht mehr mit dem was ich hier vor 2 Jahren übernommen habe.

    Aktuell muss konvertieren auf der letzten Ebene ausreichen.

    Guten Start in den Tag!

    Stefan
     
Thema:

Mit sed Dateistellen und finden und mit markiertem Text ersetzen

Die Seite wird geladen...

Mit sed Dateistellen und finden und mit markiertem Text ersetzen - Ähnliche Themen

  1. Rechner im lokalen Netzwerk finden

    Rechner im lokalen Netzwerk finden: Hallo, in meiner Firma habe ich zwei Linux-Rechner, die ganz modern mit dem Internet verbunden sind. Jetzt möchte ich von dem einem Rechner...
  2. GUADEC 2016 wird in Karlsruhe stattfinden

    GUADEC 2016 wird in Karlsruhe stattfinden: Das Gnome-Projekt lässt seine jährliche Konferenz GUADEC im kommenden Jahr nach Karlsruhe kommen. Einzelheiten werden im Lauf der nächsten Monate...
  3. Abstimmung soll über Teilaspekte von Systemd in Debian 8 »Jessie« neu befinden

    Abstimmung soll über Teilaspekte von Systemd in Debian 8 »Jessie« neu befinden: In einer »General Resolution« (GR) sollen die Debian-Entwickler entscheiden, ob es zulässig ist, dass ein Paket direkt von einem Init-System...
  4. Eine Abstimmung soll über Teilaspekte von Systemd in Debian 8 »Jessie« neu befinden

    Eine Abstimmung soll über Teilaspekte von Systemd in Debian 8 »Jessie« neu befinden: In einer »General Resolution« (GR) sollen die Debian-Entwickler entscheiden, ob es zulässig ist, dass ein Paket direkt von einem Init-System...
  5. Kurztipp: Eigene externe IP-Adresse herausfinden

    Kurztipp: Eigene externe IP-Adresse herausfinden: Man kann uPNP nutzen, um am eigenen Router die aktuelle externe IP-Adresse abzufragen. Weiterlesen...