GRY-Online.pl --> Archiwum Forum

linux zamiana plików wma na mp3

01.04.2010
12:11
[1]

Attyla [ Legend ]

linux zamiana plików wma na mp3

Zrobiłem skrypt, który ma przetwarzać pliki z formatu *.wma na *.mp3 o następującej treści:
#!/bin/bash

current_directory=$( pwd )

#remove spaces
for i in *.wma; do mv "$i" `echo $i | tr ' ' '_'`; done

#remove uppercase
for i in *.[Ww][Mm][Aa]; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done

#Rip with Mplayer / encode with LAME
for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm -waveheader $i && lame -m s audiodump.wav -o $i; done

#convert file names
for i in *.wma; do mv "$i" "`basename "$i" .wma`.mp3"; done

rm audiodump.wav

Uruchamiam plik i mam komunikat:
mv: nie można wykonać stat na `*.wma': No such file or directory
mv: nie można wykonać stat na `*.[Ww][Mm][Aa]': No such file or directory
-waveheader has been removed. Use -ao pcm:waveheader instead.
MPlayer SVN-r29237-4.4.1 (C) 2000-2009 MPlayer Team
mv: nie można wykonać stat na `*.wma': No such file or directory
rm: nie można usunąć `audiodump.wav': No such file or directory

O co może mu chodzić?

01.04.2010
14:08
[2]

kamyk_samuraj [ Legend ]

a nie możesz uruchomić skryptu z sh -x i zobaczyć, gdzie dokładnie bash widzi problemy. Przypuszczam,że problem jest z tym, że widzi *.wma jako zwykłą zmienną tablicową, która jest pusta a nie jako zbiór nazw wszystkich plikóów z rozszerzeniem wma.

01.04.2010
16:09
[3]

Attyla [ Legend ]

mam dokładnie ten sam komunikat.Czy na pewno miałem uruchomić skrypt z opcją -x, czy może zrobić coś innego?

01.04.2010
17:59
[4]

kamyk_samuraj [ Legend ]

Uruchamiasz przez
sh -x skrypt
Skrypt powinien być wykonywany po linijce w sposób:
+ polecenie1
wynik polecenia1
+ polecenie2
wynik polecenia2
itd.

co do *.wma - wydaje mi się, że powinno być ls *.wma
for i in ls *.wma
tylko nie wiem jak z cudzysłowami - bo samo *.wma nie zwróci ci listy plików z rozszerzeniem *.wma - dopiero ls *.wma to zrobi

© 2000-2024 GRY-OnLine S.A.