Прошу помощи. Задача состоит в том, чтобы перевести имена файлов и каталогов из одной кодировки в другую. Может у кого есть совет или готовое решение? В FAQ сказано только про перевод содержимого файлов, а не их названий... Я наваял вот это, по идее должно работать. При строчке в тексте iconv -f UTF8 -t UTF8 просто проходит по всему дереву каталогов и меняет имена файлов и каталогов с добавлением к их названию "_NEW". Еслиже подсунуть вот такой iconv -f UTF8 -t KOI8-R, то скрипт не работает и создает не те каталоги и не там. Подозрение на работу с регулярными выражениями. Бился вчера пол дня. #!/usr/bin/perl -w use strict; my @files = `du -a ./начало | awk '{ print \$2}' | sort`; my $value; my $new_name; my $count = $#files; my $i; my $j; for($i=0;$i<=$#files;$i++) { $value = $files[$i]; chomp $value; print $value . "\n"; $new_name = `echo "$value" | iconv -f UTF8 -t KOI8-R`; chomp $new_name; $new_name .= "_NEW"; print ">>> " . $new_name . "\n"; rename($value,$new_name); for($j=$i+1;$j<=$#files;$j++) { $files[$j] =~ s{$value}{$new_name}; } } exit(); Да, тестовое дерово создал при помощи вот этого #!/bin/sh PATH="./начало"; /bin/rm -rf $PATH; /bin/mkdir $PATH; for i in 1 2 ; do /bin/mkdir "$PATH/уровень_$i"; for j in 1 2 3 ; do /bin/mkdir "$PATH/уровень_$i/уровень_$i-$j"; for k in 1 2 3 4; do /bin/mkdir "$PATH/уровень_$i/уровень_$i-$j/уровень_$i-$j-$k"; for l in 1 2 3 4 5; do :> "$PATH/уровень_$i/уровень_$i-$j/уровень_$i-$j-$k/файл_$i-$j-$k-$l.txt" ; echo "Тестовый текст UTF-8" >> "$PATH/уровень_$i/уровень_$i-$j/уровень_$i-$j-$k/файл_$i-$j-$k-$l.txt" ; echo "$i-$j-$k-$l" >> "$PATH/уровень_$i/уровень_$i-$j/уровень_$i-$j-$k/файл_$i-$j-$k-$l.txt" ; echo "" >> "$PATH/уровень_$i/уровень_$i-$j/уровень_$i-$j-$k/файл_$i-$j-$k-$l.txt" ; done done done done

Ответ на:
комментарий
от borisych



Ответ на:
комментарий
от jackill

Ответ на:
комментарий
от boatman

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Как с помощью git переносить данные из одного репозитория в другой и конвертировать кодировку? (2014)
- Форум [mpd][софт]Может быть кому окажется интересным (2010)
- Форум Счастье... (2009)
- Форум Распаковать makeself прошивку (2014)
- Форум Изменение кодировки массива (2013)
- Форум Изменение кодировки терминала (2022)
- Форум Мониторинг сервисов на Windows с выгрузкой на сайт Batch + VBS + PHP (2018)
- Форум Помогите исправить за вознаграждение! (2017)
- Форум Изменение кодировки в названии музыки (2006)
- Форум Мониторинг очередей шейпера Linux (2011)