ich die unter Leitung von AWK
Code verwenden ersetzt alle Vorkommen von 7833 in meinem Komma getrennt-Datei mit einer Zufallszahl zwischen 100 und 400.einen Befehl (um zufällige Zeichenfolge zu erzeugen) innerhalb awk
awk -F \, 'BEGIN { OFS = FS } $NF == 7833 { $NF = int(rand() * 300 + 100) } 1' ./OldFile.txt > ./NewFile.txt
Diesem funktioniert perfekt, aber jetzt möchte ich 7833 durch eine zufällige Zeichenfolge aus dem folgenden Befehl ersetzen.
cat /dev/urandom | tr -cd 'A-Z0-9' | head -c 10
Ich versuchte mit dem folgenden Befehl, aber es funktioniert nicht.
awk -F \, 'BEGIN { OFS = FS } $NF == 7833 { $NF = `cat /dev/urandom | tr -cd 'A-Z0-9' | head -c 10` } 1' ./OldFile.txt > ./NewFile.txt
Könnten Sie bitte helfen?
Vielen Dank im Voraus.
Danke für die Antwort, aber leider funktioniert das nicht. Ich bekomme den Fehler "tr: write error: Broken pipe". Ich habe auch einen anderen Befehl ausprobiert, aber da 'system' den Exit-Status zurückgibt, wird die Zahl durch 0 (Status) und die zufällige Zeichenfolge in einer neuen Zeile ersetzt. Das ist nahe, aber ich denke, was ich brauche, ist etwas, das nur den Befehl ausführt und seine Ausgabe zurückgibt (nicht den Exit-Status). –