... może mała wyszukiwarka tekstów piosenek?
Kod: Zaznacz cały
#!/bin/bash
function pre_exit {
rm -rf tema1en.php*
}
echo -n "Wprowadź nazwę artysty: "
read artist
echo -n "Wprowadź tytuł utworu: "
read title
artist=`echo $artist | tr "[a-z]" "[A-Z]"`
title=`echo $title | tr "[a-z]" "[A-Z]"`
artist_download=`echo $artist | sed 's/ /\%20/'`
title_download=`echo $title | sed 's/ /\%20/'`
echo "Wyszukiwanie $artist - $title ..."
wget -q http://lyrc.com.ar/en/tema1en.php?artist="$artist_download"\&songname="$title_download"
if [ ! -e tema1en.php?artist="$artist"\&songname="$title" ]
then
echo "Operacja nie powiodła się..."
pre_exit
exit 1
fi
if [ -n "`cat tema1en.php?artist="$artist"\&songname="$title" | grep "Nothing found :"`" ]
then
echo "Nie znaleziono napisów."
pre_exit
exit 1
fi
if [ -n "`cat tema1en.php?artist="$artist"\&songname="$title" | grep "If none is your song"`" ]
then
cat tema1en.php?artist="$artist"\&songname="$title" | grep Suggestions > suggestions
while [ -n "`cat suggestions | grep '>'`" ]
do
cat suggestions | sed "s/>/\n/" > suggestions
done
cat suggestions | grep "</font" | grep -v "Add a lyric</font" | sed "s/<\/font//" > suggestions
echo -e "\nNie znaleziono napisów.\nByć może chodziło Ci o któreś z poniższych:\n"
cat suggestions
echo
rm suggestions
pre_exit
exit 1
fi
cat tema1en.php?artist="$artist"\&songname="$title" | tail -$[`cat -n tema1en.php?artist="$artist"\&songname="$title" | tail -1 | awk '{print $1}'`-129] > "$artist-$title.txt"
end_text=$[`cat -n "$artist-$title.txt" | grep '<script type="text/javascript"><!--' | head -1 | awk '{print $1}'`-2]
cat "$artist-$title.txt" | head -$end_text > "$artist-$title.txt"
remove="
<a href=\"#\" onClick=\"javascript:window.open('badsong.php?songname=$title&artist=$artist','aa','width=200,height=100')\">BADSONG<\/a>"
cat "$artist-$title.txt" | sed "s/$remove//" > "$artist-$title.txt"
cat "$artist-$title.txt" | grep -v "
" > "$artist-$title.txt"
cat "$artist-$title.txt" | sed "s/<br \/>//" > "$artist-$title.txt"
cat "$artist-$title.txt" | sed "s/<\/script><\/td><\/tr><\/table>//" > "$artist-$title.txt"
thxf=`cat "$artist-$title.txt" | grep "<p><hr size=1 noshade color=white width=100%><font color='#E9AF03'>"`
if [ -n "$thxf" ]
then
spam1="<p><hr size=1 noshade color=white width=100%><font color='#E9AF03'>"
spam2="<\/font><\/p>"
cat "$artist-$title.txt" | sed "s/$spam1//" > "$artist-$title.txt"
cat "$artist-$title.txt" | sed "s/$spam2//" > "$artist-$title.txt"
fi
echo -e "$artist - $title\n\n`cat \"$artist-$title.txt\"`" > "$artist-$title.txt"
echo -e "Zakończono sukcesem. \nNapisy zapisano do `pwd`/$artist-$title.txt"
pre_exit
exit 0
EDIT:
Drobna modyfikacja:karmelek pisze:Prosty skrypt konwertujący wma do mp3
Kod: Zaznacz cały
#!/bin/bash echo "Podaj plik *.wma" read plik mplayer "$plik" -ao pcm -ao pcm:file="~/tmp.wav" && \ lame -h ~/tmp.wav output.mp3 && \ rm -f tmp.wav echo "FINISHED"
Kod: Zaznacz cały
#!/bin/bash
echo -n "Podaj ścieżkę pliku *.wma: "
read plik #nie wiem jak dla Ciebie, ale dla mnie tak to wygląda nieco lepiej ;)
mplayer "$plik" -ao pcm -ao pcm:file="~/tmp.wav" && \
lame -h ~/tmp.wav `echo $plik | sed 's/.wma/.mp3/'` && \ #Dzięki temu program zapisze plik docelowy pod taką samą nazwą z nowym rozszerzeniem
rm -f tmp.wav
echo "ZAKOŃCZONE" # Hmm... Skoro skrypt jest interaktywny i instruuje użytkownika w jednym języku, to myślę, że powinno tak być do końca.
Można by było to do nieskończoności rozszerzać.
EDIT:
Napisałem dzisiaj skrypt do wyświetlania czasu w słowach (np. siedemnasta czterdzieści cztery)
Enjoy
Kod: Zaznacz cały
#!/bin/bash
czas=`date | awk '{print $5}' | tr ":" " "`
godzina=`echo $czas | awk '{print $1}'`
minuta=`echo $czas | awk '{print $2}'`
case "$godzina" in
00)
echo -n "Dwudziesta czwarta "
;;
01)
echo -n "Pierwsza "
;;
02)
echo -n "Druga "
;;
03)
echo -n "Trzecia "
;;
04)
echo -n "Czwarta "
;;
05)
echo -n "Piąta "
;;
06)
echo -n "Szósta "
;;
07)
echo -n "Siódma "
;;
08)
echo -n "Ósma "
;;
09)
echo -n "Dziewiąta "
;;
10)
echo -n "Dziesiąta "
;;
11)
echo -n "Jedenasta "
;;
12)
echo -n "Dwunasta "
;;
13)
echo -n "Trzynasta "
;;
14)
echo -n "Czternasta "
;;
15)
echo -n "Piętnasta "
;;
16)
echo -n "Szesnasta "
;;
17)
echo -n "Siedemnasta "
;;
18)
echo -n "Osiemnasta "
;;
19)
echo -n "Dziewiętnasta "
;;
20)
echo -n "Dwudziesta "
;;
21)
echo -n "Dwudziesta pierwsza "
;;
22)
echo -n "Dwudziesta druga "
;;
23)
echo -n "Dwudziesta trzecia "
;;
esac
case "$minuta" in
00)
echo -n ""
;;
01)
echo -n "jeden"
;;
02)
echo -n "dwa"
;;
03)
echo -n "trzy"
;;
04)
echo -n "cztery"
;;
05)
echo -n "pięć"
;;
06)
echo -n "sześć"
;;
07)
echo -n "siedem"
;;
08)
echo -n "osiem"
;;
09)
echo -n "dziewięć"
;;
10)
echo -n "dziesięć"
;;
11)
echo -n "jedenaście"
;;
12)
echo -n "dwanaście"
;;
13)
echo -n "trzynaście"
;;
14)
echo -n "czternaście"
;;
15)
echo -n "piętnaście"
;;
16)
echo -n "szesnaście"
;;
17)
echo -n "siedemnaście"
;;
18)
echo -n "osiemnaście"
;;
19)
echo -n "dziewiętnaście"
;;
20)
echo -n "dwadzieścia"
;;
21)
echo -n "dwadzieścia jeden"
;;
22)
echo -n "dwadzieścia dwa"
;;
23)
echo -n "dwadzieścia trzy"
;;
24)
echo -n "dwadzieścia cztery"
;;
25)
echo -n "dwadzieścia pięć"
;;
26)
echo -n "dwadzieścia sześć"
;;
27)
echo -n "dwadzieścia siedem"
;;
28)
echo -n "dwadzieścia osiem"
;;
29)
echo -n "dwadzieścia dziewięć"
;;
30)
echo -n "trzydzieści"
;;
31)
echo -n "trzydzieści jeden"
;;
32)
echo -n "trzydzieści dwa"
;;
33)
echo -n "trzydzieści trzy"
;;
34)
echo -n "trzydzieści cztery"
;;
35)
echo -n "trzydzieści pięć"
;;
36)
echo -n "trzydzieści sześć"
;;
37)
echo -n "trzydzieści siedem"
;;
38)
echo -n "trzydzieści osiem"
;;
39)
echo -n "trzydzieści dziewięć"
;;
40)
echo -n "czterdzieści"
;;
41)
echo -n "czterdzieści jeden"
;;
42)
echo -n "czterdzieści dwa"
;;
43)
echo -n "czterdzieści trzy"
;;
44)
echo -n "czterdzieści cztery"
;;
45)
echo -n "czterdzieści pięć"
;;
46)
echo -n "czterdzieści sześć"
;;
47)
echo -n "czterdzieści siedem"
;;
48)
echo -n "czterdzieści osiem"
;;
49)
echo -n "czterdzieści dziewięć"
;;
50)
echo -n "pięćdziesiąt"
;;
51)
echo -n "pięćdziesiąt jeden"
;;
52)
echo -n "pięćdziesiąt dwa"
;;
53)
echo -n "pięćdziesiąt trzy"
;;
54)
echo -n "pięćdziesiąt cztery"
;;
55)
echo -n "pięćdziesiąt pięć"
;;
56)
echo -n "pięćdziesiąt sześć"
;;
57)
echo -n "pięćdziesiąt siedem"
;;
58)
echo -n "pięćdziesiąt osiem"
;;
59)
echo -n "pięćdziesiąt dziewięć"
;;
esac
echo