[РЕШЕНО]Копирование в Midnight Commander. FAT32 or NTFS? Поиск файлов несовместимых с FAT32.

Будем убирать всё кроме русского и латиницы, цифр и '_' c '.', остальное заменив на '__'? Верная идея?
"If you try to hide the complexity of the system, you'll end up with a more complex system". Layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they NEED no hiding. —Aaron Griffin
так можно же скриптом в транслит перевести имена файлов потом обратно :)
kdeneur: https://github.com/brestows/kdeNeur
awesome WM 3.5
Зайди в папку которую копируешь и выполни
find > file.list
а потом скинь file.list куда нибудь, посмотрю что можно сделать.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
find > file.list
Спасибо!

Даже можно упростить и вот так: find > file.list
"If you try to hide the complexity of the system, you'll end up with a more complex system". Layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they NEED no hiding. —Aaron Griffin
попробуй заюзать вот такой скриптик нашел тут http://ru.wikibooks.org/wiki/LOR-FAQ-Storage
но немного подправил
1.sh
#!/bin/bash
# Перекодирует рекурсивно в текущем каталоге имена
# файлов и каталогов в транслит.
shopt -s nullglob
for NAME in *
do
	# Меняем в названии файла квадратные скобки на круглые - а то sed клинит квадратными
	NBR=`echo "$NAME" | tr '[' '('`
	NBR=`echo "$NBR"  | tr ']' ')'`
	if [[ "$NAME" != "$NBR" ]]
	then
		mv -v -- "$NAME" "$NBR"
	fi
# Меняем дефис в начале названия файла на символ нижнего подчёркивания - что бы file, move да и вообще
# другие команды не воспринимали такие названия файлов как параметры
	DSH=`echo $NBR  | sed "s/^-/_/g;s/ /_/g"`
	if [[ "$DSH" != "$NBR" ]]
	then
		mv -v -- "$NBR" "$DSH"
	fi
	TRS=`echo $DSH  | sed "y/абвгдезийклмнопрстуфхцы/abvgdezijklmnoprstufxcy/"`
	TRS=`echo $TRS  | sed "y/АБВГДЕЗИЙКЛМНОПРСТУФХЦЫ/ABVGDEZIJKLMNOPRSTUFXCY/"`
	TRS=${TRS//ч/ch};
	TRS=${TRS//Ч/CH} TRS=${TRS//ш/sh};
	TRS=${TRS//Ш/SH} TRS=${TRS//ё/yo};
	TRS=${TRS//Ё/YO} TRS=${TRS//ж/zh};
	TRS=${TRS//Ж/ZH} TRS=${TRS//щ/sch};
	TRS=${TRS//Щ/SСH} TRS=${TRS//э/ye};
	TRS=${TRS//Э/YE} TRS=${TRS//ю/yu};
	TRS=${TRS//Ю/YU} TRS=${TRS//я/ya};
	TRS=${TRS//Я/YA} TRS=${TRS//ъ/\'};
	TRS=${TRS//Ъ/\'} TRS=${TRS//ь/\'};
	TRS=${TRS//Ь/\'}
	if [[ -d "$DSH" ]]
	then
		if [[ "$DSH" != "$TRS" ]]
		then
			mv -v "$DSH" "$TRS"
		fi
		cd "$TRS"
		sh "$0"
		cd ..
	else
		if [[ "$DSH" != "$TRS" ]]
		then
			mv -v "$DSH" "$TRS"
		fi
	fi
done

входишь в каталог в котором нужно все переименовать и запускаешь
sh /полный путь к скрипту/1.sh
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Запустил, ещё работает, вижу, что имена переименовываются с русского на транслит, это мы вернём обратно? Благодарю за скрипт.

sh /media/bcb536f2-ef06-4838-ad5e-b48bb6960be0/0.sh
Это у меня 1881 файл с левыми символами был? Просто find > file.list дал 7426 файла. Теперь буду предельно внимателен с именами.
"If you try to hide the complexity of the system, you'll end up with a more complex system". Layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they NEED no hiding. —Aaron Griffin
там в скрипте нужно было еще вот такой фильтр поставить
	TRS=${TRS//Ъ/\'} TRS=${TRS//ь/\'};
	TRS=${TRS//Ь/\'}
	TRS=`echo $TRS | tr -cd '\012[a-z][A-Z][0-9]._'`
	if [[ -d "$DSH" ]]
	then
TRS=`echo $TRS | tr -cd '\012[a-z][A-Z][0-9]._'`
что бы остались символы только латиница цифры точка и пробел
нужно будет тебе вставить в скрипт эту строку и еще раз запустить.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Добавил фильтр и запустил sh /media/bcb536f2-ef06-4838-ad5e-b48bb6960be0/0.sh, пока ничего не происходит... ан нет, что-то начало выдавать... и на этом закончил он
"If you try to hide the complexity of the system, you'll end up with a more complex system". Layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they NEED no hiding. —Aaron Griffin
Ну попробуй сейчас скопировать.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
Ну попробуй сейчас скопировать.
Чудным образом копирует! Очень благодарен. Мы можем попробовать транслит перевести на русский?
Например вот так:
#!/bin/bash
shopt -s nullglob
for NAME in * ; do
 TRS=`echo $NAME | sed -e "s/tz/ц/g" -e "s/sh/ш/g" -e "s/sch/щ/g" -e "s/zh/ж/g" -e "s/ch/ч/g" -e "s/yu/ю/g" -e "s/ya/я/g" -e "s/yo/ё/g" -e "s/YO/Ё/g" -e "s/TZ/Ц/g" -e "s/SH/Ш/g" -e "s/SCH/Щ/g" -e "s/ZH/Ж/g" -e "s/CH/Ч/g" -e "s/YU/Ю/g" -e "s/YA/Я/g" -e "y/jukengzh'fyvaproldesmit'bJUKENGZH'FYVAPROLDESMIT'B/йукенгзхъфывапролдэсмитьбЙУКЕНГЗХЪФЫВАПРОЛДЭСМИТЬБ/"`
 if [[ `file -b "$NAME"` == directory ]]; then
 mv -v "$NAME" "$TRS"
 cd "$TRS"
 "$0"
 cd ..
 else
 mv -v "$NAME" "$TRS"
 fi
done
"If you try to hide the complexity of the system, you'll end up with a more complex system". Layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they NEED no hiding. —Aaron Griffin
 
Зарегистрироваться или войдите чтобы оставить сообщение.