Hallo an alle..
Mit den einfachen tests hat es mit sed (und mir) funktioniert.
Wo ich nicht weiterkomme ist bei folgender Situation:
Ich habe verschiedene Files unter dem Verzeichnis xyz/
In diesen Files kommen userid's vor.
Diese userid's sollen durch --Vorname Nachname-- ersetzt werden.
Diese Gegenüberstellung (userid;Vorname Nachname) existiert in einem File "userid.txt"
Wie komme ich zu den gewünschten Ergebnis??
Kann hier jemand helfen??
SED2
Re: SED2
Also, sed alleine hilft Dir nicht weiter an dieser Stelle. awk (oder perl) können da mehr:<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">#!/bin/awk -f
BEGIN {
FS=";"
while ((getline < "userid.txt")> 0) {
user[<!--no-->$1<!--no-->]=$2
}
file=""
}
FNR == 1 {
if (file != "") {
close (file)
}
file = FILENAME ".new"
}
{
for (i in user) {
gsub ("\<!--no-->\<!--no--><" i "\<!--no-->\<!--no-->>", user[<!--no-->i<!--no-->])
}
print > file
}
</font><hr></pre></blockquote>Voraussetzungen: userid.txt hat pro Zeile 2 Spalten, getrennt durch exakt ein Semikolon. Ergebnis: Überall, wo im Text eine UID als Wort auftaucht, wird sie ersetzt durch "Vorname Nachname"; die so neu erzeugten Dateien heissen "originalname.new"!
Hilft das weiter?
Jochen
BEGIN {
FS=";"
while ((getline < "userid.txt")> 0) {
user[<!--no-->$1<!--no-->]=$2
}
file=""
}
FNR == 1 {
if (file != "") {
close (file)
}
file = FILENAME ".new"
}
{
for (i in user) {
gsub ("\<!--no-->\<!--no--><" i "\<!--no-->\<!--no-->>", user[<!--no-->i<!--no-->])
}
print > file
}
</font><hr></pre></blockquote>Voraussetzungen: userid.txt hat pro Zeile 2 Spalten, getrennt durch exakt ein Semikolon. Ergebnis: Überall, wo im Text eine UID als Wort auftaucht, wird sie ersetzt durch "Vorname Nachname"; die so neu erzeugten Dateien heissen "originalname.new"!
Hilft das weiter?
Jochen