Zeilen in Textdatei mit Zufallszahlen ersetzen

Post Reply
Message
Author
r.b.
Posts: 11
Joined: 14. Oct 2007 11:41
Location: Soltau
Contact:

Zeilen in Textdatei mit Zufallszahlen ersetzen

#1 Post 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.

x.y

bestimmte

#2 Post by x.y »

Waran erkenne ich bestimmte Zeilen?

r.b.
Posts: 11
Joined: 14. Oct 2007 11:41
Location: Soltau
Contact:

#3 Post by r.b. »

Die Zeilen lauten immer UID:TEMP123 und müssen mit UID:"Zufallszahl" ersetzt werden.

PDA

#4 Post by PDA »

Zeig mal die relevanten Codezeilen.

brum

zeilen

#5 Post 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*

jan61

#6 Post 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

Post Reply