: Ich bin in Unix und muß folgende tun: Ich habe 10 Dateien mit dem Namen:Unix ersetzen dynamische Dateinamen mit dynamischen Streichern
t1_20160322_load_8977854_49843489_1.xml
t1_20160322_load_8977855_47536364_1.xml
t1_20160322_load_8977856_93435735_1.xml
t1_20160322_load_8977857_78637575_1.xml
t1_20160322_load_8977858_97437542_1.xml
....
und ich erhielt man eine Datei (loadnumber.txt) mit folgendem Inhalt :
8977854;EUROLOADSAMPLE;c
8977855;ASIENLOADSAMPLE;i
8977856;AFRICANLOADSAMPLE;s
8977857;USALOADSAMPLE;l
8977858;CANADALOADSAMPLE;o
ich brauche die Nummer mit dem Wert aus der Textdatei, zum Beispiel ersetzen sollte die Datei t1_20160322_load_8977854_49843489_1.xml zu
geändert werdenund die Datei t1_20160322_load_8977854_49843489_1.xml sollte t1_ASIENLOADSAMPLE_i.xml
geändert werden Ich habe versucht, googeln, wie das Unix-Kommando zu schreiben, aber ich glaube, ich das Grundwissen fehle, so schrieb ich folgende:
for f in $(t1*xml);do;for x in $(cat contracts_generator.txt);do;g=$(echo $x | cut -d\; -f1); n=$(echo $x | cut -d\; -f2); m=$(echo $x | cut -d\; -f3);mv $f t1_$n.xml;done;done
Das hat natürlich nicht funktioniert. Kannst du mir bitte helfen herauszufinden, wie ich den Code schreiben soll?
Vielen Dank für Ihre Antworten im Voraus.