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ą ?
bash --- operacje na nazwie pliku
Zrób tak
.mp3 w basename jest oddzielona od $nazwa_pierwotna. To jest rozszerzenie jakie ma być usuniętę z końca pliku.
Kod: Zaznacz cały
nazwa_wyjsciowa="`basename $nazwa_pierwotna .mp3`[$rate].mp3"
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
wklej.org -> http://wklej.org/txt/a66b094a6e
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