dateien zusammenfügen mit cat

dosenfleisch

dosenfleisch

Foren As
hallo,

benutze die bash 3.1.17

ich möchte dateien in einem verzeichnis mit cat zusammenfügen.
bei zweien gelingt mir das, bei mehr als zwei funzt es nicht.

es sollen nur jene dateien zusammen, die zusammengehören:

AlsdasWünschennochgeholfenhat..._WDR5-08.05.22_06-23.wma
AlsdasWünschennochgeholfenhat..._WDR5-08.05.22_07-10.wma
AlsdasWünschennochgeholfenhat..._WDR5-08.05.22_07-16.wma

diese jedoch nicht mit den obrigen, aber auch zu einer zusammen:

DerKrimi_WDR5-08.04.25_20-05.wma.mp3
DerKrimi_WDR5-08.04.25_20-35.wma.mp3

und weiter:

Hörspiel_DeutschlandfunkKöln-08.03.22_20-05.wma.mp3
Hörspiel_DeutschlandfunkKöln-08.03.22_20-15.wma.mp3
Hörspiel_DeutschlandfunkKöln-08.03.22_20-42.wma.mp3


ich denke, es liegt daran, daß ich die datei, die nach dem zusammenfügen der ersten beiden teile entsteht, verschiebe und ein plus einfüge und die variablen leere. tue ich das aber nicht, dann wird sie überschrieben.

mir fällt dazu nichts schlaues ein. vielleicht eine blacklist aller behandelten dateien oder ähnliches, aber dann wird der code wahrscheinlich noch umständlicher als er jetzt schon ist.



Code:
############################TEILE KLEBEN
find /video/audio/cache/*wma -maxdepth 0 -type f |while read song; do
such=$(echo -e "$song"|cut -d "_" -f "1,2")

 if [ "$such" = "$suchold" ]; then
 echo -e ""$song - "$songold"
 songname="$(basename "$song" .wma)"
 cat "$songold" "$song" >> /video/audio/"$songname"+.wma
 mv "$song" /video/audio/tmp
 mv "$songold" /video/audio/tmp
 find=1
 else 
 find=0
 fi

   if [ $find = 1 ]; then
   suchold=
   songold=
   else
   suchold="$such"
   songold="$song"
   fi
done
############################TEILE KLEBEN

danke!
 
Zuletzt bearbeitet:
Hallo
Wenn du sie in der Reihenfolge, wie sie gelistet werden zusammenfügen willst:
Code:
cat AlsdasWünschennochgeholfenhat..._WDR5-08.05.22* >target_fiename

Oder als Schleife:
Code:
for i in AlsdasWünschennochgeholfenhat..._WDR5-08.05.22*; do
 cat $i; 
done >targetfile

Gruß Wolfgang
 
oh man, ich wußte, daß es blödsinn wäre, an meinem script herumzudoktor'n.
daß cat mit wildcard läuft, wußte ich nicht, reduziert mein script nun aber auf einen dreizeiler.

vielen dank wolfgang!
 
cat laeuft in dem Sinne auch nicht mit einem Wildcard. Die shell expandiert das, sofern moeglich, ja schon (oder zumindest die gaengigen, Ausnahmen gibts ja immer). cat bekommt davon nichts mit.
 
Sorry, aber das funktioniert?? Einfach wild mp3s oder wmas zusammenfügen? Krass...
 
Jop, mich wundert das auch, weil die Dateiheader ja dann mehrfach in der Datei vorkommen.
 

Ähnliche Themen

If-Abfrage kommt nicht positiv zurück, obwohl Kriterium erfüllt

Verschlüsseltes Backup-Script mit rsync

Shell Skript beschleunigen

HandbrakeCLI Shell Skript

mysql Select Abfrageergebnis in unterschiedlichen Variablen sichern

Zurück
Oben