Gå til innhold

Konvertere m4b til mp3, problemer med filnavn


Anbefalte innlegg

Jeg har en masse m4b filer som jeg gjerne skulle fått konvertert til mp3.

Fant noe på nettet som greit kunne bruke for en og en fil.

 

Med ved forsøk på batch konvertere ser det ut som filnavnene gir problemer.

De fleste har navn som dette: Dette kan være fil nunner 1.m4b

 

Har lagd en fil som inneholder

 

#!/bin/bash
for m4b in $(ls -1 *.m4b); do ffmpeg -i $m4b -acodec libmp3lame -ar 22050 ${m4b}.mp3; done

Så, noen med en ide om hvordan jeg får dette til å akseptere filnavn med spaces og lignende i?

 

Takker for alle tips.

Lenke til kommentar
Videoannonse
Annonse

For å håndtere mellomrom så må du bruke apostrofer eller doble apostrofer rundt filnavnene, omtrent slik:

...ffmpeg -i "${m4b}" -acodec ...

I tillegg bør du sjekke opp koden din, slik den er nå så vil resultatfilnavnene kunne bli "filnavn1.m4b.mp3"

Det er jo ikke sikkert at det er det du ønsker.

 

Jeg bruker ofte echo-kommandoen når jeg tester shell-script, da ser jeg hva scriptet gjør, uten å ødelegge noe.

Endret av tingo
Lenke til kommentar

Klarer ikke å se hvorfor du har valgt å bruke { på output, men så lenge du har " rundt variablene (i dette tilfellet, "$m4b") så skal det funke.

 

Men ang konvertering til mp3, du vil jo miste de store fordelene til m4b når du gjør det om til mp3.

Lenke til kommentar

@AlecTBM, {} rundt variabelnavn gir en mer presis indikasjon på at det er snakk om en variabel, så f.eks ${fil}.mp3 oppfattes som en variabel fil + .mp3, og ikke en variabel som heter fil.mp3.

 

@trådstarter, for å slippe å få filer som heter "filnavn.m4b.mp3", kan du "klippe bort" m4b fra filnavnet, og legge til mp3 isteden slik:

 

${filnavn%.m4b}.mp3

Lenke til kommentar

@AlecTBM, {} rundt variabelnavn gir en mer presis indikasjon på at det er snakk om en variabel, så f.eks ${fil}.mp3 oppfattes som en variabel fil + .mp3, og ikke en variabel som heter fil.mp3.

 

@trådstarter, for å slippe å få filer som heter "filnavn.m4b.mp3", kan du "klippe bort" m4b fra filnavnet, og legge til mp3 isteden slik:

 

${filnavn%.m4b}.mp3

 

@tingo og @Sokkalf: Mage takk for tips her. Det løste seg greit når jeg lot det kjøre

rename "s/ *//g" *.m4b

først for å fjerne tomrom.

 

@AlecTBM: Spilleren min støtter ikke m4b og jeg foretrekker uansett mp3.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...