Ребят, для удобства хочу набыдлокодить 2 простеньких скрипта для ubuntu и можно было бы ими пользоваться с помощью "Сценариев". Ну это когда пкм по файлу и в меню пункт "Сценарии".
Суть первого скрипта такова. Нужно, что бы если файл - картинка (то есть формат jpg, png, gif и тд), то он копировал этот файл в определённую папку и переименовывал его (естественно переименовывал тот файл, который был скопирован, а не оригинал). Имя нужно такое, что бы генерировалась автоматически, состояло из восьми символов, а символы были следующие: строчные и заглавные латинские буквы, а так же цифры. Но если файл не картинка, то что бы он копировался в другую категорию, но не переименовывался.
Второй скрипт точно такой же, только нужно, что бы файлы не копировались, а перемещались.
Думаю можно догадаться, что это мне нужно для домашнего веб сервера :) что бы делиться картинками, файлами и прочим. ну и для удобства разделить файлы от картинок, и копирование от перемещения. А то руками не очень удобно каждый раз перекидывать.
Примерно так: #!/bin/bash NOMBREBASE=`basename "$*"` direc="$PWD/$NOMBREBASE" gen=`pwgen 8 1` if [[ $NOMBREBASE == *.jpg ]] || [[ $NOMBREBASE == *.bmp ]] || [[ $NOMBREBASE == *.png ]]; then cp $direc ~/folder/$gen else cp $direc ~/folder2/$NOMBREBASE fi
Думаю догадаетесь, как добавить новые расширения. Для второго срипта просто меняем cp на mv. P.S.: Должен быть установлен пакет pwgen (sudo apt-get install pwgen)
Я имел ввиду пометить скрипт в ~/.gnome2/nautilus-scripts и не забудь сделать исполняемым (chmod +x ~/.gnome2/nautilus-scripts/имя_скрипта). Потом правой кнопкой на файле>сценарии>имя_скрипта. Имя файла и путь к нему забьются в переменные NOMBREBASE и direc соответственно.
#!/bin/bash gen=`pwgen 8 1` ls $PWD > tmpspisok.txt f=`cat tmpspisok.txt` for n in $f do if [[ $n == *.jpg ]] || [[ $n == *.bmp ]] || [[ $n == *.png ]]; then cp $n ~/folder/$gen else cp $n ~/folder2/$n fi done rm tmpspisok.txt
Как использовать: Создаём 2 папки. ~/folder и ~/folder2 (mkdir ~/folder mkdir ~/folder2). Переходим в терминале в каталог в котором нужно копировать файлы (cd путь/к/каталогу). Запускаем скрипт. Где будет хранится сам скрипт не важно.(например: ~/bin/./scriptname). Готово. Эта версия выгодно отличается от предыдущей версии скрипта тем, что проверяет все файлы в каталоге, а не только 1. Когда в следующий раз будет скучно попробую прикрутить рекурсию, т.е. что бы скрипт проверял и вложенные каталоги. P.S.: Я ни когда не изучал этот скриптовый язык и всё делаю методом проб и ошибок... возможно есть способы красивее, но я их пока не знаю.
Комментировать
Привет, незнакомец!
Похоже, вы новенький! Чтобы пообщаться с нами, кликните на одну из кнопок ниже :)