Strona 1 z 1
bash --- operacje na nazwie pliku
: 27 marca 2008, 23:17
autor: Inquistor
Pisze mały skrypcik do konwersji plików mp3 oparty o lame, i chciałbym żeby do nazwy pliku wyjściowego dopisywał np. "nazwa_pliku_[256kbps].mp3"
Na początku pliku i na końcu to nie żaden problem, ale jak umieścić to info o bitrate przed kropką ?
: 27 marca 2008, 23:31
autor: zulowski
1. zapamietaj nazwe pliku
2. sprawdz dlugosc (strlen)
3. odejmij 4 (kropka +mp3)
4. stworz nowa nazwe pliku skladajacą się z liter tych sprzed kropki
5. dodaj bitrate
6. dodaj koncowke .mp3
: 29 marca 2008, 10:46
autor: Inquistor
Całość schematu jest dla mnie oczywista, robiłem podobny skrypt pod php, jednakże nie moge znaleśc strlen w bashu :/ Mam jakieś braki czy co...
: 29 marca 2008, 11:23
autor: mlyczek
Zrób tak
Kod: Zaznacz cały
nazwa_wyjsciowa="`basename $nazwa_pierwotna .mp3`[$rate].mp3"
.mp3 w basename jest oddzielona od
$nazwa_pierwotna. To jest rozszerzenie jakie ma być usuniętę z końca pliku.
: 29 marca 2008, 12:45
autor: Inquistor
dzieki mlyczek ;-)
Tu podaje cały skrypt, moze sie komuś przyda. Z uwagi na to, że jest to mój pierwszy skrypt, moga wystąpić błędy składniowe etc
Kod: Zaznacz cały
#!/bin/bash
# Autor: Jarosław Zywert / [url]www.inquistor.info/blog[/url]
if [ -x /usr/bin/lame ]
then
echo "Lame: OK"
else
echo "Nie masz zainstalowanego pakietu Lame
Zainstaluj pakiet za pomocą aptitude, apt-get lub innego managera pakietów"
exit
fi
bitrate="$2"
nazwa_pierwotna="$3"
nazwa_wyjsciowa="`basename $nazwa_pierwotna .mp3`[$bitrate kbps].mp3"
case $1 in
-h) echo " POMOC:
Konwerter MP3
Opis: Skrypt do konwersji bitrate plików mp3
SK£ADNIA:
mp3bitrate [-OPCJA] [BITRATE] [PLIK]
-s -konwersja pojedynczego pliku, skonwertowany
plik ma nazwę nazwa_pliku[BITRATE].mp3
-a -konwersja calego aktualnie otwartego folderu,
wyjscie zapisywane jest w podrzednym folderze
[BITRATE]. Domyślny bitrate to 128kbps.
" ;;
-s) lame --mp3input -b "$2" "$nazwa_pierwotna" "$nazwa_wyjsciowa" ;;
-a) mkdir "$2kbps"
for i in *.mp3
do lame --mp3input -b "$2" "$i" "$2kbps/$i"
done | echo "Konwersja zakończona pomyślnie.";;
*) echo "Brak odpowiednich argumentów
Pomoc jest dostepna pod: mp3bitrate -h" ;;
esac
wklej.org ->
http://wklej.org/txt/a66b094a6e