Преобразование кодировок, форматов графики и иное.
Оглавление
Темы
Введение
Практические примеры и совместимость со старыми утилитами
Полезные однострочники для конвертации
Автоматизация конвертации и пакетная обработка
Дополнительные примеры и утилиты Fedora
Прочие преобразования: Base64, HEX, транслитерация каталогов
Введение
Тема посвящена утилитам, которые помогают выполнять типичные задачи по преобразованию данных в Fedora:
— смена кодировок текстовых файлов,
— конвертация графических форматов,
— базовое определение типа файлов и работы с мультимедиа.
Инструменты подбираются из стандартных пакетов Fedora, без использования тяжёлых GUI-программ.
Преобразование кодировок текста
Современные системы Fedora по умолчанию используют кодировку UTF-8.
Однако при работе со старыми файлами (KOI8-R, CP1251 и т.п.) может потребоваться перекодировка.
Для этого используется утилита iconv:
Где:
Проверить кодировку можно командой file:
Пример вывода:
Для автоматического определения кодировки полезна утилита chardet (из пакета python3-chardet):
Преобразование форматов изображений
Fedora использует современную версию ImageMagick, в которой основная команда теперь — magick.
Примеры:
Проверить информацию о файле:
Для пакетной обработки можно использовать простые конструкции bash:
Преобразование видео и аудио
Для мультимедиа используется ffmpeg — универсальный конвертер аудио и видео.
Установка:
Примеры:
Преобразование форматов документов
Пакет pandoc позволяет конвертировать между различными текстовыми форматами:
Примеры:
Дополнительные утилиты
Заключение
Fedora предоставляет богатый набор инструментов для преобразования данных в текстовом и графическом виде.
Для текстов и кодировок — iconv и chardet,
для изображений — magick,
для видео и аудио — ffmpeg,
для документов — pandoc.
Эти утилиты легко комбинируются в скриптах и автоматизации задач администратора.
Практические примеры и совместимость со старыми утилитами
Классические способы по-прежнему работают, но некоторые утилиты имеют обновлённые вызовы.
Преобразование кодировок текста
Современный аналог (Python-утилита):
Конвертация изображений (старый способ)
Современный вызов:
Пакетная обработка
Сводная таблица аналогов
Заключение
Утилиты `iconv`, `convert`, `recode`, `enca` продолжают работать и на новых версиях Fedora.
Тем не менее, для Unicode-окружений предпочтительнее использовать `magick`, `chardet` и `pandoc`.
Полезные однострочники для конвертации
Текст
Изображения
Видео и аудио
Документы
Автоматизация конвертации и пакетная обработка
Пример скрипта
Запуск по расписанию
Пример лог-файла
Заключение
Этот скрипт можно расширить: добавить обработку видео (`ffmpeg`), документов (`pandoc`)
или интеграцию с systemd-таймерами для регулярного запуска.
Fedora остаётся гибкой системой, где классические инструменты легко комбинируются с современными средствами автоматизации.
Темы
Введение
Практические примеры и совместимость со старыми утилитами
Полезные однострочники для конвертации
Автоматизация конвертации и пакетная обработка
Дополнительные примеры и утилиты Fedora
Прочие преобразования: Base64, HEX, транслитерация каталогов
Введение
Тема посвящена утилитам, которые помогают выполнять типичные задачи по преобразованию данных в Fedora:
— смена кодировок текстовых файлов,
— конвертация графических форматов,
— базовое определение типа файлов и работы с мультимедиа.
Инструменты подбираются из стандартных пакетов Fedora, без использования тяжёлых GUI-программ.
Преобразование кодировок текста
Современные системы Fedora по умолчанию используют кодировку UTF-8.
Однако при работе со старыми файлами (KOI8-R, CP1251 и т.п.) может потребоваться перекодировка.
Для этого используется утилита iconv:
- Код: выделить все
iconv -f koi8-r -t utf-8 input.txt -o output.txt
Где:
- -f — исходная кодировка,
- -t — целевая кодировка,
- -o — имя выходного файла.
Проверить кодировку можно командой file:
- Код: выделить все
file -bi input.txt
Пример вывода:
- Код: выделить все
text/plain; charset=koi8-r
Для автоматического определения кодировки полезна утилита chardet (из пакета python3-chardet):
- Код: выделить все
sudo dnf install python3-chardet
chardet input.txt
Преобразование форматов изображений
Fedora использует современную версию ImageMagick, в которой основная команда теперь — magick.
Примеры:
- Код: выделить все
magick image.png image.jpg
magick convert -resize 800x600 photo.jpg small.jpg
Проверить информацию о файле:
- Код: выделить все
magick identify image.png
Для пакетной обработки можно использовать простые конструкции bash:
- Код: выделить все
for i in *.png; do magick "$i" "${i%.png}.jpg"; done
Преобразование видео и аудио
Для мультимедиа используется ffmpeg — универсальный конвертер аудио и видео.
Установка:
- Код: выделить все
sudo dnf install ffmpeg
Примеры:
- Код: выделить все
# Конвертация видео в MP4
ffmpeg -i input.mkv -c:v libx264 -c:a aac output.mp4
# Извлечение звука из видео
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
Преобразование форматов документов
Пакет pandoc позволяет конвертировать между различными текстовыми форматами:
- Код: выделить все
sudo dnf install pandoc
Примеры:
- Код: выделить все
pandoc file.md -o file.html
pandoc file.md -o file.pdf
Дополнительные утилиты
| Утилита | Назначение |
| dos2unix / unix2dos | Конвертация перевода строк DOS ↔ Unix |
| enca | Определение и преобразование кодировок (альтернатива iconv) |
| file-roller | Определение типа архивов и распаковка |
| identify (из ImageMagick) | Информация о графических файлах |
Заключение
Fedora предоставляет богатый набор инструментов для преобразования данных в текстовом и графическом виде.
Для текстов и кодировок — iconv и chardet,
для изображений — magick,
для видео и аудио — ffmpeg,
для документов — pandoc.
Эти утилиты легко комбинируются в скриптах и автоматизации задач администратора.
Практические примеры и совместимость со старыми утилитами
Классические способы по-прежнему работают, но некоторые утилиты имеют обновлённые вызовы.
Преобразование кодировок текста
- Код: выделить все
iconv -f koi8-r -t utf-8 старый_файл.txt -o новый_файл.txt
recode koi8-r..utf8 файл.txt
file -i файл.txt
enca файл.txt
Современный аналог (Python-утилита):
- Код: выделить все
chardet файл.txt
Конвертация изображений (старый способ)
- Код: выделить все
convert image.png image.jpg
convert -resize 1024x768 wallpaper.jpg new_wallpaper.jpg
Современный вызов:
- Код: выделить все
magick image.png image.jpg
magick convert -resize 1024x768 wallpaper.jpg new_wallpaper.jpg
Пакетная обработка
- Код: выделить все
for i in *.txt; do iconv -f koi8-r -t utf-8 "$i" -o "utf8_$i"; done
for i in *.png; do magick "$i" "${i%.png}.jpg"; done
Сводная таблица аналогов
| Утилита (старая) | Актуальная замена | Назначение |
| iconv | iconv (актуальна) | Преобразование кодировок текста |
| recode | iconv / chardet | Массовое перекодирование файлов |
| convert | magick | Обработка и конвертация изображений |
| file / enca | file / chardet | Определение кодировки и типа файлов |
Заключение
Утилиты `iconv`, `convert`, `recode`, `enca` продолжают работать и на новых версиях Fedora.
Тем не менее, для Unicode-окружений предпочтительнее использовать `magick`, `chardet` и `pandoc`.
Полезные однострочники для конвертации
Текст
- Код: выделить все
for i in *.txt; do iconv -f cp1251 -t utf-8 "$i" -o "utf8_$i"; done
for i in *.txt; do file -bi "$i"; done
Изображения
- Код: выделить все
for i in *.jpg; do magick "$i" "${i%.jpg}.png"; done
for i in *.png; do magick "$i" -resize 800x "${i%.png}_small.png"; done
Видео и аудио
- Код: выделить все
for i in *.mkv; do ffmpeg -i "$i" -c:v libx264 -c:a aac "${i%.mkv}.mp4"; done
for i in *.mp4; do ffmpeg -i "$i" -vn -ab 192k "${i%.mp4}.mp3"; done
Документы
- Код: выделить все
for i in *.md; do pandoc "$i" -o "${i%.md}.html"; done
for i in *.md; do pandoc "$i" -o "${i%.md}.pdf"; done
Автоматизация конвертации и пакетная обработка
Пример скрипта
- Код: выделить все
#!/bin/bash
LOGFILE="/var/log/convert.log"
WORKDIR="$HOME/convert"
TEXTDIR="$WORKDIR/text"
IMGDIR="$WORKDIR/images"
mkdir -p "$TEXTDIR" "$IMGDIR"
echo "=== $(date '+%F %T') ===" >> "$LOGFILE"
for file in "$TEXTDIR"/*.txt; do
[ -e "$file" ] || continue
ENCODING=$(file -bi "$file" | awk -F'=' '{print $2}')
if [[ "$ENCODING" != "utf-8" ]]; then
iconv -f "$ENCODING" -t utf-8 "$file" -o "${file%.txt}_utf8.txt"
echo "$file → перекодирован" >> "$LOGFILE"
fi
done
for img in "$IMGDIR"/*.jpg; do
[ -e "$img" ] || continue
magick "$img" -resize 1024x768 "${img%.jpg}_small.jpg"
echo "$img → уменьшен" >> "$LOGFILE"
done
Запуск по расписанию
- Код: выделить все
crontab -e
0 3 * * * /home/user/convert.sh >/dev/null 2>&1
Пример лог-файла
- Код: выделить все
=== 2025-10-18 03:00:01 ===
Файл: text/readme.txt (кодировка iso-8859-5) → перекодирован
Изображение images/photo.jpg → уменьшено до 1024x768
Заключение
Этот скрипт можно расширить: добавить обработку видео (`ffmpeg`), документов (`pandoc`)
или интеграцию с systemd-таймерами для регулярного запуска.
Fedora остаётся гибкой системой, где классические инструменты легко комбинируются с современными средствами автоматизации.