Wstęp i lanie wody
Ostatnio czyszcząc dysk, znalazłem w cache Firefox dużo fajnych zdjęć (a to tapety, a to royalty-free itp.), ale jak pewnie wiecie te pliki nie mają rozszerzeń. Jestem "plikowym pedantem" i lubię, jak pliki mają w nazwie przynajmniej rozszerzenie.
Dużo ich było, więc zmiana rozszerzenia każdego z osobna byłaby męcząca, dlatego napisałem sobie prosty skrypt, który robi to za mnie (pisanie go zajęło mi więcej, niż nazywanie tych plików ręcznie, ale przynajmniej się bashem pobawiłem).
Tekst właściwy
Dzielę się skryptem tutaj, żeby:
1. podzielić się skryptem,
2. poprawić coś w skrypcie,
3. poprawić skrypt wspólnymi siłami.
Oto on:
Kod: Zaznacz cały
#!/bin/bash
clear #A co ma nam być brudno ;)
#główne zadanie funkcji pliki to zrobienie tego: file sprawdza formaty wszystkich plików w folderze; w wyniku grepujemy $n , które jest rozszerzeniem pliku; z wyniku wycinamy samą nazwę pliku. Wynik jest zmienną z nazwami plików, do której dodajemy rozszerzenie pobierane w zależności od wyboru dalej.
pliki ()
{
for i in $(file * | grep $n | cut -d':' -f1)
do
mv $i $i.$e
done;
}
echo "Podaj nazwę swojego profilu w Firefoksie/Iceweasel:"
read profil
cd /home/$USER/.mozilla/firefox/*.$profil/Cache/
echo "Jakie pliki chcesz pobrać?"
echo "1. Obrazy JPG"
echo "2. Pliki HTML"
read opcja
case "$opcja" in
1)
n='[JPG,JPEG]'
e='jpg'
pliki $n $e && echo "Zrobione" || echo "Niestety, nie udało się. Na pewno są tu takie pliki?"
;;
2)
n='[HTML]'
e='html'
pliki $n $e && echo "Zrobione" || echo "Niestety, nie udało się. Na pewno są tu takie pliki?"
;;
*)
echo "Not implemented yet ;) "
;;
esac
Proszę też o betatesty i uwagi, jednocześnie prosząc o wyrozumiałość (względną), bo to mój pierwszy użyteczny (trochę) skrypt w bashu (i pierwszy w ogóle).
PS. Internet Explorer i Windows to ściema, bawię się w Firefox ,,User Agentem''.