среда, января 27, 2010

Пакетная перекодировка текстовых файлов в Gnome

Потребовалось перелопатить из КОИ8 в UTF8 пачку файлов. Руками, через редактор, работы минут аж на десять. Однако я всего за полчаса нашёл в инете и, слегка доработав монтировкой, прикрутил к Наутилусу сценарий, делающий это моментально. Отличие от оригинала состоит в том, что файлы перезаписываются:

#!/bin/bash

# ~/.gnome2/nautilus-scripts/file processing/codepage convert/KOI8-R to UTF-8
# Преобразование кодировки текстового файла.

if [ ${#NAUTILUS_SCRIPT_SELECTED_FILE_PATHS} -eq 0 ] ; then
zenity --info --text="Нет файлов для обработки." --title="KOI8 to UTF-8"
exit
fi

temp=$IFS
IFS=$'\n'
arr=($(echo "${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}"))
IFS=$temp

for filePath in "${arr[@]}"; do
tmpFile=$filePath$RANDOM;
iconv -f KOI8-R -t UTF-8 "$filePath" > "$tmpFile";
unlink "$filePath";
mv "$tmpFile" "$filePath";
done

--------------------
Это надо обозвать типа KOI8-to-UTF8.sh, чмоднуть +х и положить в ~/.gnome2/nautilus-scripts. Другие перекодировки при необходимости делаются по схеме.

Комментариев нет:

Поиск по этому блогу