2017-03-10 1 views
1

Ich habe eine riesige Liste von Dateien aus verschiedenen Ordnern und ich muss sie in einen anderen Ordner kopieren.Kopieren von Dateien aus mehreren Ordnern in mehrere andere Ordner Linux

Ich habe bereits die Ordner erstellt, die ich kopieren werde.

Ich habe den Code versucht:

for file in $(cat /home/pdf/report/folder/files.txt | sed $'s/\r//'); do cp "$file" /home/pdf/report/folder/dest.txt; done 

Gibt es irgendwelche Lösungen in Linux?

+0

Können Sie einen Baum der Quell- und Zielverzeichnisse und -dateien hinzufügen? –

+0

Die Ordnerstrukturen sind wirklich unterschiedlich. –

+0

Btw '/ home/pdf/report/folder/dest.txt' sieht nicht wie ein Verzeichnis aus, und wenn es sich tatsächlich um eine Datei handelt, würden Sie jede Datei an dasselbe Ziel kopieren, was die letzte verarbeitete Datei wäre nach der Ausführung. – Aaron

Antwort

0

Ich würde es auf diese Weise tun:

while read file 
do 
cp "$file" /home/pdf/report/folder/ 
done < /home/pdf/report/folder/files.txt 

Der wichtige Punkt ist, Sie kopieren in den Ordner ohne Angabe des Dateinamens, einfach den Ordner, um die Kopie Bedeutung wird den gleichen Namen wie das Original

haben
+0

Andrew, danke für deine Antwort. Es tut mir wirklich leid für die verspätete Antwort. Ich löste dieses Problem mit PHP) \t für ($ i = 0; $ i <113970; $ i ++) { \t \t wenn (! Copy ($ fileArr [$ i], $ targetArr [$ i]. $ VarArr [ $ i]. ". pdf")) { \t \t \t echo "Fehler ... \ n"; \t} sonst { \t \t \t echo $ fileArr [$ i]. "kopiert \ n"; \t \t} \t} ' –

Verwandte Themen