Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- if [ $# -lt 1 ]; then
- echo
- echo "Skrypt ten służy do masowej zmiany nazw plików JPEG (.jpg, .jpeg) na nazwy zawierające oryginalną datę i godzinę utworzenia zdjęcia."
- echo
- echo -e "Przykład nowej nazwy: <\033[1;38m$(date '+%Y-%m-%d_%H.%M.%S').jpg\033[0;0m>"
- echo
- echo "W celu dokonania konwersji wejdź do katalogu ze zdjęciami i uruchom skrypt,"
- echo "jako pierwszy argument podając rozszerzenie zdjęcia (bez kropki; wielkość liter ma znaczenie)."
- echo
- echo -e "Użycie: $0 <\033[1;38mrozszerzenie zdjęcia\033[0;0m>"
- echo
- exit 1
- fi
- echo
- if ! echo "$1" | grep -qi '^jp'; then
- echo -e "\033[1;31mBŁĄD:\033[0;0m Rozszerzenie, które podałeś, nie jest prawidłowe."
- echo
- exit 1
- fi
- if [ ! -x /usr/bin/exif ]; then
- echo -e "\033[1;31mBŁĄD:\033[0;0m Brak programu <\033[1;38mexif\033[0;0m>. Jest on niezbędny do poprawnego działania skryptu."
- echo
- echo -e "Możesz zainstalować go następującą komendą: <\033[1;38msudo apt-get install exif\033[0;0m>."
- echo
- exit 1
- fi
- for i in *."$1"; do
- if exif --tag 0x9003 "$i" > "$i.name.abc123.tmp" 2> /dev/null; then
- newname=$(awk '/Value/ { print $2, $3 }' "$i.name.abc123.tmp" | sed -e 's/:/-/' -e 's/:/-/' -e 's/:/./g' -e 's/ /_/' | awk '{ print $1 }')
- echo -en "Zmieniam nazwę pliku <\033[1;38m"$i"\033[0;0m> na <\033[1;38m$newname.jpg\033[0;0m>: "
- mv "$i" "$newname".jpg && echo -e "\033[1;32mOK\033[0;0m" || echo -e "\033[1;31mBŁĄD\033[0;0m"
- rm -f "$i.name.abc123.tmp"
- else
- echo -e "\033[1;31mBŁĄD:\033[0;0m Nie można odczytać daty i godziny utworzenia zdjęcia <\033[1;38m"$i"\033[0;0m>. Nazwa nie została zmieniona."
- rm -f "$i.name.abc123.tmp"
- fi
- done
- echo
Add Comment
Please, Sign In to add comment