Hi zusammen,
ich habe folgende Problemstellung, bei der ich als Linux Noob einmal ein wenig Hilfe benötige. Was will ich tun?: mehrere Tausend 4MB große Dateien per Skript zu einer großen Datei zusammenfügen
Die Dateierweiterungen beginnen mit .1 und enden irgendwann mit .n, da die Dateien in genau der richtigen Reihenfolge zusammengesetzt werden müssen. Folglich lasse ich eine schöne while Schleifen laufen, solange noch eine entsprechende Datei existiert und möchte sie an die vorherigen Dateien anfügen.
Mein Skript sieht momentan folgendermaßen aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | filename="/Dateipfad/Dateiname" temp_file="/Dateipfad/temp" i=1 file=${filename}.$i $file>$temp_file i=2 while [ -f $file ] do cat $temp_file $file > ${temp_file}_1 i=$(($i + 1)) file=${filename}.$i rm -f $temp_file mv ${temp_file}_1 $temp_file done |
Dummerweise bekomme ich bereits vor dem Schleifeneintritt immer die Meldung "Kann die Binärdatei nicht ausführen: Fehler im Format der Programmdatei" bei $file>$temp_file. Die Berechtigung für die Datei, die ich in die Temp Datei schreiben möchte habe ich aber (-rwxr-xr-x 2 root root) Kann der Output Stream mit > da mit meiner Ursprungsdatei nichts anfangen oder lässt sich mein Problem vielleicht ganz anders einfacher lösen?