1. Уважаемый Гость, обязательно перед созданием нового сообщения на нашем форуме - прочтите наши правила.
    Dear Guest, before creating a new message on our forum - please read our rules.
  2. Наш аварийный блог находится по адресу storenull.blogspot.com Если вдруг наш сайт (nullstore.pw) стал недоступен - заходите на наш аварийный блог, чтобы узнать все актуальные новости о работе главного сайта.
    Скрыть объявление
  3. Гость, Платное повышение прав дает вам возможность просматривать любые темы и сообщения на данном форуме. Подробности: здесь
    Гость, The VIP membership gives you the rights to view any topics and messages on this forum. Details: here
  4. For English users - please set the English language here

HowTo Добавить конвертацию в bash

Тема в разделе "Administration", создана пользователем Checkme, 19 июл 2016.

  1. Checkme

    Checkme Team member Verified

    Регистрация:
    25 апр 2016
    Сообщения:
    505
    Симпатии:
    162
    Скрипт для поиска и перекодирования файлов из одной кодировки в другую только файлов исходной кодировки:
    Код:
    #!/bin/bash
    find -name "*.js" -type f -print0 | while read -d $'\0' -r path; do test "$(echo "$path" | enca -L russian -i)" = "UTF-8" || iconv -f UTF-8 -t WINDOWS-1251 "$path" > tmp.file; mv tmp.file "$path"; done
    
     
  2. Checkme

    Checkme Team member Verified

    Регистрация:
    25 апр 2016
    Сообщения:
    505
    Симпатии:
    162
    А вот пример в одну строку, как можно перекодировать в UTF-8. Расширение искомых файлов можно добавлять.
    Для конвертации используется утилита enconv из пакета enca, приимущество перед iconv в том, что не нужно создавать временные файлы, конвертирует сразу в нужную кодировку. man enconv
    Код:
    find . -type f \( -name "*.php" -o -name "*.snp" -o -name "*.js" -o -name "*.css" -o -name "*.less" -o -name "*.xml" -o -name "*.config" -o -name "*.csv" \) -exec enconv -L ru -x UTF-8 '{}' ';'
    и наоборот, в 1251
    Код:
    find . -type f -name '*.php' -exec enconv -V --convert-to=CP1251 '{}' ';'
    Расширить поиск по файлам, можно из предыдущего примера.
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление