Wie umleiten der Ausgabe in ein anderes Verzeichnis in der BASH?
Ich habe 3 Verzeichnisse mit Namen: /home/user/control4 , /home/user/control8 ,/home/user/control16
Ich geschrieben habe eine script-Datei, die zwei Schleifen , die erste ist eine simulation, Herstellung 3 Dateien mit den Namen cc1.txt cc2.txt und cc3.txt und eine zweite Schleife ist für die Namen-Verzeichnis
Ich gerne direkt cc1.txt, cc2.txt, cc3.txt in /home/user/control4,/home/user/control8 ,/home/user/control16, beziehungsweise. Was ist der genaue syntax für die dies in der BASH?
Vielen Dank für Ihre Hilfe.
Meine Skript-Datei Aussehen mag dieses
#!/user/bin/bash
for j in $(4 8 16 ) # loop for directories
do
for i in $(seq 1 3) # loop for simulations
do
.... produce cc1.txt cc2.txt cc3.txt
done
Wie die Ausgabe der drei Dateien in die jeweiligen Verzeichnisse? so etwas wie /home/user/control$j/cc$i.txt?
getan
Du musst angemeldet sein, um einen Kommentar abzugeben.
Produzieren, die neun-Dateien. Wenn Sie möchten, eine Datei pro Verzeichnis für insgesamt drei Dateien, einige mathematische könnte den trick tun.
Wenn ich Lesen Sie Ihr Skript, werden Sie am Ende mit 9 Dateien: cc1 bis 3, jeweils in Verzeichnisse control4, 8, und 16. Aber dein text Beschreibung impliziert, dass nur 3 Dateien insgesamt: control4/cc1.txt, control8/cc2.txt und control16/cc3.txt.
Wenn Sie haben buchstäblich einen Befehl namens
produce
nimmt, dass die Ausgabe-Dateien als Parameter, und Sie möchten nur die 3 Dateien insgesamt, ich würde nur geben Sie die drei output-Verzeichnisse & Dateien manuell, und sich keine sorgen über die Schleife.Wenn Sie haben buchstäblich einen Befehl namens
produce
nimmt, dass die Ausgabe-Dateien als Parameter, und Sie wollen 9 Dateien Gesamt, dann ja, control$j/cc$i.txt wird das tun.Wenn Sie nicht über einen Befehl namens
produce
nimmt, dass die Ausgabe-Dateien als Parameter (das heißt, dass die Zeile in deinem code-Beispiel wurde Pseudo-code), und der Befehl erzeugt Daten, die nur dumps die Dateien aus, ohne Sie angeben nichts, dann denke ich, werden Sie haben, ummv cc1.txt control4 ; mv cc2.txt control8 ; mv cc3.txt control16
nachdem es fertig ist.