Mit sed Dateistellen und finden und mit markiertem Text ersetzen

Hobbystern

Hobbystern

Wahl-Debianer
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
 
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

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.
 
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
 
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)
 
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
 
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
 
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

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.
 
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
 

Ähnliche Themen

Zeilen kopieren mit SED

sed/grep Anfängerproblem

SED - Spezial benötigt - finden von Pattern

csv-Datei mit UNIX zurecht stutzen und Daten in xls-Datei laufend abspeichern

SATA RAID Controller 3Ware / LSI / Adaptec

Zurück
Oben