Page 1 of 1
Zeilen in Textdatei mit Zufallszahlen ersetzen
Posted: 29. Nov 2010 13:15
by r.b.
Hallo zusammen,
ich habe eine Textdatei und möchte bestimmte Zeilen mit Zufallszahlen ersetzen. Pro zu ersetzende Zeile soll es eine 10stellige Zufallszahl geben.
Mit einer for-Schleife un z.B "echo $RANDOM" komme ich nicht weiter. Hier werden alle zu ersetzenden Zeilen mit nur einer Zufallszahl ersetzt.
Vielen Dank für Anregungen und Unterstützung im Voraus,
R.B.
bestimmte
Posted: 29. Nov 2010 16:29
by x.y
Waran erkenne ich bestimmte Zeilen?
Posted: 29. Nov 2010 21:03
by r.b.
Die Zeilen lauten immer UID:TEMP123 und müssen mit UID:"Zufallszahl" ersetzt werden.
Posted: 29. Nov 2010 21:06
by PDA
Zeig mal die relevanten Codezeilen.
zeilen
Posted: 30. Nov 2010 8:44
by brum
Ja, es wäre schon besser, etwas mehr zu sehen.
Ist die Zufallszahl dann das Zeilenende?
Ich könnte mir als Lösung vorstellen - ich bin aber kein richtiger Programmierer - die Datei Zeilenweise auszulesen. Evtl. einer Schleife und der "head -N|tail -1"-Methode und ebenso zeilenweise eine neue Datei mit "echo >>" erstellen und diese zum Schluß umbenenne.
Perl- und sed-Spezies haben bestimmt etwas anderes auf Lager *g*
Posted: 07. Dec 2010 20:43
by jan61
r.b. wrote:Die Zeilen lauten immer UID:TEMP123 und müssen mit UID:"Zufallszahl" ersetzt werden.
Das Problem ist der Zeitpunkt der Ausführung von "echo $RANDOM" - wenn Du sowas z. B. in ein sed-Kommando einbaust, dann wird das von der Shell 1x vor Start des sed ausgeführt. Folgende Schleife sollte es tun:
Code: Select all
while read l; do
if test "$l" = "UID:TEMP123"; then
echo "UID:$RANDOM"
else
echo "$l"
fi
done <Quelldatei >Zieldatei
cu
Jan