The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Массовая конвертация имен файлов и ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Массовая конвертация имен файлов и ..."  +/
Сообщение от auto_tips (??) on 19-Июл-09, 20:37 
Если имена большой группы файлов и каталгов не в 7-битной ASCII-кодировке (латиница),
то при их переносе между операционными системами с разными локальными кодировками могут возникнуть
сложности - нечитаемые знаки вместо привычных имен файлов. Одним из возможных решений будет использование
нижеописанного shell-скрипта, которым можно рекурсивно переконвертировать имена сколь
угодно большой группы каталогов и файлов из одной кодировки в другую (не боится пробелов в именах):

#!/bin/sh
# Script for bulk recode files and directories names
# to another encodings.
#
# Usage:
#    $ brecode.sh <source_dir> <new_dir>
#

# source encoding. If commented out, then current locale is used
#RECODE_FROM="UTF8"

# target encoding (mandatory)
RECODE_TO="CP1251"

#### error function
err()
{
    echo >&2
    echo "$(basename ${0}): error: ${1}" >&2
    echo "exit" >&2
    echo >&2
    exit 1
}

#### check arguments
if test "x${1}" = "x"
then err "no arguments specified"
elif ! test -d "${1}"
then err "directory '${1}' not found"
elif test "x${2}" = "x"
then err "source directory not specified"
elif test -e "${2}"
then err "object '${2}' already exists"
fi

#### check utilities
for U in find iconv
do which ${U} >/dev/null || err "${U} utility not found"
done

#### recode  & copy
find "${1}" | while read S
do
    if test ${RECODE_FROM}
    then N="${2}/$(echo ${S} | iconv -f ${RECODE_FROM} -t ${RECODE_TO})"
    else N="${2}/$(echo ${S} | iconv -t ${RECODE_TO})"
    fi

    if test -d "${S}"
    then mkdir -p "${N}" || err "mkdir failed"
    else cp "${S}" "${N}" || err "cp failed"
    fi
done

URL: http://maretskiy.uuuq.com/docs/brecode.xml
Обсуждается: https://www.opennet.ru/tips/info/2131.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от anonymous (??) on 19-Июл-09, 20:37 
convmv - converts filenames from one encoding to another.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от Zenitur email on 19-Июл-09, 21:10 
Спасибо. Давно столкнулся с конфликтами KDE и Gnome в этом плане.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от ViT on 19-Июл-09, 21:18 
А чтонить подобное для тегов мп3-файлов есть?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от vadiml on 19-Июл-09, 22:24 
Что-то скрипт уж очень большой. Я когда-то сделал так:
find | sort -r | while read f; do
    fn=$(basename "$f"|iconv -f cp1251 -t utf-8);
    [ "$fn" = "$(basename "$f")" ] || mv "$f" "$(dirname "$f")/$fn";
done
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от angel_il on 20-Июл-09, 00:12 
$ mc
в mc нажимаем ctrl-t помечаем файлы, жмем f6
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "велосипеды заполонили всю планету"  +/
Сообщение от ravil email on 20-Июл-09, 02:18 
convmv уже сто лет в обед есть. велосипедисты нищасные блджад.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от ABATAPA (ok) on 20-Июл-09, 14:34 
> А чтонить подобное для тегов мп3-файлов есть?

Да. Что именно - Вы не спрашивали.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от ABATAPA (ok) on 20-Июл-09, 14:37 
>Что-то скрипт уж очень большой. Я когда-то сделал так:
>find | sort -r | while read f; do

И делали неверно. Ибо будут проблемы с кавычками и спецсимволами в именах.
Правильно:
find . -print0 | xargs -0 ...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от Аноним (??) on 20-Июл-09, 16:01 
чтож вы вредный такой. уточняю вопрос: с помощью какого ПО/скрипта (и на всякий случай как) можно производить массовую перекодировку тегов мп3-файлов? пожалуйста ответьте.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от NicK on 20-Июл-09, 16:09 
>Спасибо. Давно столкнулся с конфликтами KDE и
>Gnome в этом плане.

Не понял. это как??? Там везде одна кодировка utf-8.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "имен файлов"  +/
Сообщение от Andrey Mitrofanov on 20-Июл-09, 17:06 
Баг GTK с не-UTF локалью? http:/openforum/vsluhforumID15/2382.html#9
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от pavlinux (ok) on 20-Июл-09, 18:38 
http://www.nongnu.org/mp3tag/
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от an (??) on 20-Июл-09, 19:08 
mp3unicode
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от Vertigo (ok) on 20-Июл-09, 21:16 
С помощью easytag можно.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от Дмитрий (??) on 21-Июл-09, 02:37 
Ещё бы кто-то написал скрипт парсинга файлов с заменой русско-пробельных символов на транс-литерацию с обрезанием до 15 символов - вот было бы хорошо ...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

16. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от s0ldat email(ok) on 21-Июл-09, 10:54 
Намек понятен, но с другой стороны вопрос не в том как обособиться от товарища а как передать оному скачанные из интернета файлы. Передо мною такая задача возникла.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

17. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от нео on 21-Июл-09, 17:44 
я тоже не понял, че он изобретал колсо, лол
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

18. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от Agressor (ok) on 24-Июл-09, 18:23 
для mp3 есть id3iconv - на яве писана. Превосходно работает.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

19. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от XoRe (ok) on 24-Июл-09, 21:53 
>Намек понятен, но с другой стороны вопрос не в том как обособиться
>от товарища а как передать оному скачанные из интернета файлы. Передо
>мною такая задача возникла.

А если scp? )

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

20. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от s0ldat email(ok) on 24-Июл-09, 22:13 
>А если scp? )

Тогда уже FTP. В данном случае подразумевается передача файлов на накопителе данных, на файловой системе.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

21. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от руттиток on 25-Июл-09, 10:32 
НАрод! а как приэтом сделать конвертирование еще содержимого? )
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

22. "Массовая конвертация имен файлов и каталогов в другую кодиро..."  +/
Сообщение от warpson (??) on 26-Июл-09, 16:48 
посредством iconv
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру