Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [DE] [erledigt]Binär-Dateien im Shell-Script aneinanderhänge  (Read 5402 times)

khx

  • Guest
[DE] [erledigt]Binär-Dateien im Shell-Script aneinanderhänge
« on: 2010/12/24, 14:18:55 »
Moin,

wie kann ich im Shell-Script an eine bestehende Binär-Datei
eine/mehrere weitere anhängen?
(ich möchte mehrere .wav-Dateien aneinanderhängen)

ist cat dafür geeignet?

Hermann

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Binär-Dateien im Shell-Script aneinanderhängen
« Reply #1 on: 2010/12/24, 15:33:53 »
Hi Hermann,
versuch es mal mit folgenden Kommando.
Code: [Select]

$ cat 01.wav 02.wav 03.wav > 01-03.wav

khx

  • Guest
Re: Binär-Dateien im Shell-Script aneinanderhängen
« Reply #2 on: 2010/12/24, 16:45:44 »
Quote from: "bluelupo"
Hi Hermann,
versuch es mal mit folgenden Kommando.
Code: [Select]

$ cat 01.wav 02.wav 03.wav > 01-03.wav


hi bluelupo,
danke!

das wäre zusammensetzen - wenn ich das richtig verstanden habe ?
anhängen mit >> geht sicher auch?

Hermann

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Re: Binär-Dateien im Shell-Script aneinanderhängen
« Reply #3 on: 2010/12/24, 17:25:00 »
@Hermann: Anhängen mit >>

khx

  • Guest
Re: Binär-Dateien im Shell-Script aneinanderhängen
« Reply #4 on: 2010/12/24, 18:24:15 »
Hi,
habs probiert
prinzipiell gehts
allerdings knackt es an den Stoßstellen

Hermann

khx

  • Guest
Re: Binär-Dateien im Shell-Script aneinanderhängen
« Reply #5 on: 2010/12/24, 20:06:58 »
also ...

erst mit sox ins raw-format konvertieren
dann zusammenhängen
danach das zusammengehängte file mit sox ins wav-format
fertig

allerdings den gibts den in den div. Anleitungen beschrieben Parameter -w nicht
geht aber auch ohne
Hermann

holgerw

  • Guest
[erledigt]Binär-Dateien im Shell-Script aneinanderhänge
« Reply #6 on: 2010/12/25, 07:53:03 »
Hallo @Bluelupo,

Audiodateien bitte nicht mit cat aneinanderfügen, das gibt Aussetzer.

@khx, warum wandelst Du denn die Dateien erst ins Raw Format um?

Hast Du drei Dateien 01.wav, 02.wav und 03.wav, lautet der Befehl:
Code: [Select]
sox 0* gesamt.wav

Viele Grüße,
  Holger

khx

  • Guest
[erledigt]Binär-Dateien im Shell-Script aneinanderhänge
« Reply #7 on: 2010/12/25, 09:30:19 »
Hallo Holger,

Quote from: "holgerw"
Hallo @Bluelupo,

Audiodateien bitte nicht mit cat aneinanderfügen, das gibt Aussetzer.

liegt das daran, daß cat nicht für Binär-Dateien geeignet ist?
Quote from: "holgerw"


@khx, warum wandelst Du denn die Dateien erst ins Raw Format um?

weils geknackt hat, was ich auf die Header zurückführte
Quote from: "holgerw"


Hast Du drei Dateien 01.wav, 02.wav und 03.wav, lautet der Befehl:
Code: [Select]
sox 0* gesamt.wav

sieht ja sehr einfach aus,
aber, wie kontrolliere ich die Reihenfolge?

Danke
Hermann

DonKult

  • Guest
[erledigt]Binär-Dateien im Shell-Script aneinanderhänge
« Reply #8 on: 2010/12/25, 14:00:23 »
Quote from: "khx"
Quote from: "holgerw"
Audiodateien bitte nicht mit cat aneinanderfügen, das gibt Aussetzer.

liegt das daran, daß cat nicht für Binär-Dateien geeignet ist?


Nein, das liegt am wav Format -- das geht einfach nicht davon aus, dass an dessen Ende noch was kommt. Das ist aber bei vielen Binärformaten so, dass die das nicht gut finden. Ist im Grunde aber auch so bei Textdateien: Alleine durch cat werden zwei Sätze halt eben auch nicht zu einem mit "und" verbundenem Langen…

Quote from: "khx"
Quote from: "holgerw"
Hast Du drei Dateien 01.wav, 02.wav und 03.wav, lautet der Befehl:
Code: [Select]
sox 0* gesamt.wav

sieht ja sehr einfach aus,
aber, wie kontrolliere ich die Reihenfolge?

Vertraue auf deine Shell, dass sie richtige Expansion macht ;) Ansonsten kannst du es natürlich explizit aussprechen (sox 001.wav 002.wav …) oder eben:
Code: [Select]
sox $(find /path/to/wavs/ -name '0??.wav' | sort)
Mit find und sort kann man dann wohl wirklich so ziemlich jeden Sortierungswunsch erfüllen…

(find alleine wird eine recht undefinierte Reihenfolge ausgeben -- die Manpages machen schlau :) )