Показаны сообщения с ярлыком Переименование. Показать все сообщения
Показаны сообщения с ярлыком Переименование. Показать все сообщения

четверг, 13 ноября 2008 г.

Переименование папок в домашней директории с кирилицы на латиницу.

Переименование папок в домашней директории с кирилицы на латиницу. | Kubuntu


Как известно, при установке системы и выборе русского языка как основного в домашней папке пользователя автоматически создаются папки с русскими именами: Рабочий стол, Документы, Картинки, Музыка, Видео, Шаблоны, Общедоступная.

Все бы хорошо, но вот при работе выясняется, что далеко не все программы в состоянии адекватно воспринимать папки на кирилице и по ходу работы может возникнуть много различных, на первый взгляд непонятных глюков. Типа не возможности установить или запустить программу расположенную на рабочем столе. Все это связанно именно с наличием руских букв в пути к файлу. Поэтому для нормальной, безглючной работы нам нужно переименовать папки с кирилицы на латиницу. Правильно делается это следующим образом:

  1. Переименовываем папки с руссих букв на английские, на пример:
    • Рабочий стол - Desktop
    • Документы - Doc
    • Картинки - Pictures
    • Музыка - Music
    • Видео - Video
    • Шаблоны - Templates
    • Общедоступная - Share
  2. Открываем файл .config/user-dirs.dirs Папка .config находиться в домашней папке пользователя и так как имеет в начале точку - то это означает что папка скрытая. Потому чтобы её увидеть в дельфине нужно включить режим отображения скрытых файлов, это делается нажатием "Alt + ." (Альт и точка).
    Ну и прописываем в открытом файле новые пути. У меня этот файл выглядит так:

    # This file is written by xdg-user-dirs-update
    # If you want to change or add directories, just edit the line you're
    # interested in. All local changes will be retained on the next run
    # Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
    # homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
    # absolute path. No other format is supported.
    #
    XDG_DESKTOP_DIR="$HOME/Desktop"
    XDG_DOWNLOAD_DIR="$HOME/Desktop"
    XDG_TEMPLATES_DIR="$HOME/Templates"
    XDG_PUBLICSHARE_DIR="$HOME/Share"
    XDG_DOCUMENTS_DIR="$HOME/Doc"
    XDG_MUSIC_DIR="$HOME/Music"
    XDG_PICTURES_DIR="$HOME/Pictures"
    XDG_VIDEOS_DIR="$HOME/Video"

четверг, 25 сентября 2008 г.

Métamorphose - переименование файлов

Смольный и Linux - Métamorphose - переименование файлов

Продолжаем серию записей о том, что консоль великолепна, но GUI тоже ниче. Программа о которой я упомяну ниже, конечно не сравнится в тем, что можно сделать c именами файлов (папок) в консоле, но она подойдет тем кто испытвает трудности с for, ls, mv, awk и т.д.

Métamorphose - программа для массовоой работы с именами файлов.

Возможности:
* Предварительный просмотр каждого пункта который будет переименован, прежде чем применить изменения.
* Обработка файлов в каталогах и подкаталогах (рекурсивное переименование).
* Отмена операции переименования в случае ошибки.
* Поддержка регулярных выражений.
* Переименование MP3 файлов в соответствии с их ID3-тегами.
* Переименовать изображений в зависимости от их Exif-тегов.
* Поддержка Unicode.
* Возможность использовать все допустимые символы под Windows и OSX, все, кроме ':' (в Linux).

Много говорить не буду, это всего-лишь переименовалка файлов, расписывать особо нечего, функционал расписан выше. Так же скажу, что программа есть в deb пакете.

Домашняя страничка проекта
Идея написать о Métamorphose подсмотрена тут.

среда, 27 августа 2008 г.

Массовое переименование файлов с помощью утилиты find

Propheta: Массовое переименование файлов с помощью утилиты find

Иногда бывает жизненно необходимо переименовать кучу файлов. Например заменить пробелы в названии файлов и директорий на нижний знак подчеркивания.
Сохраняем приведенный ниже скрипт в файл с именем mass-replace.sh

#!/bin/sh

# Определяем глубину вложенности директорий
depth=$((`find "$1" -type d -print | \
sed -E 's/[^\/]+//g' | \
sort | tail -n 1 | \
wc -c`+1));
# Макрос, переименовывающий файлы и директории
replacer='new="`dirname "{}"`/`basename "{}" | sed "s/ /_/g"`"; if [ "$new" != "{}" ]; then mv "{}" "$new"; fi;';
# Обходим все уровни вложенности
while [ $depth -ge 0 ];
do
# Находим и заменяем
find "$1" -depth $depth -and -name '* *' -print -exec sh -c "$replacer" \;
# Меняем уровень вложенности
depth=$(($depth-1));
done;
Сделаем файл исполняемым
$ chmod +x mass-replace.sh
В качестве аргумента скрипту передается путь до обрабатываемой директории
$ ./mass-replace.sh ~/Warez/Music

Автор Князь на 11:15