LINUX.ORG.RU

PERL. Определить текстовые файлы.


0

0

Помогите, пожалуйста, решbть такую задачку:
Есть каталог неизвестным количеством подкаталогов, как текстовых (txt, php, pl, makefile etc), так и бинарных файлов (ELF, jpg etc). Нужно рекурсивно обойти все файлы в текущем каталоге, если они являются текстовыми, то добавить их в tar с сохранением структуры каталогов. Проблема в том, что PERL я только начал изучать, да и не совсем понятно, как определять тип файлов (``file'' не подходит, т.к. мне заранее не известен тип текстовых файлов).

Спасибо.

anonymous

>т.к. мне заранее не известен тип текстовых файлов

Не понял... А какой может быть тип?

file -i поможет?

Selecter ★★★★
()

Ты сначала определись, что значит для тебя текстовый файл?

Обрати внинмание на интересную утилитку find2perl которая принимает аргументы как для команды find и преобразует их в perl скрипт, который делает тоже самое.

anonymous_incognito ★★★★★
()

Всем спасибо за помощь. Все оказалось проще -- сделал через sh ;-)

anonymous
()

как как, если ты только начал учить перл, то нечего тебе за эту задачу браться.

А делается это просто, если в файле есть слова, которые содержат символы клавиатуры, т.е. [a-zA-Z] и всякие черточки вопросы, вбить 101 или 102 символа -- не трудно, значит файл текстовый и копировать структуру каталогов и потом её зазипить или затарить. Вот и все.

vilfred ☆☆
()

-T FILEHANDLE
        File is an ASCII text file.

idle ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.