Преобразования Windows текстовых файлов в UNIX

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

PandoraBox2007
Сообщения: 55

Преобразования Windows текстовых файлов в UNIX

Сообщение PandoraBox2007 »

Помогите как под терминалом в папке /var/www/ рекурсивно с под-папками ( Преобразовать Windows (формат) на Unix (формат) ) в текстовых файлах *.php

Изображение
Спасибо сказали:
Аватара пользователя
shevan
Сообщения: 992
ОС: Debian, Puppy

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение shevan »

Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение allez »

В дополнение к вышеприведенной информации посоветую прочесть man find.
Спасибо сказали:
PandoraBox2007
Сообщения: 55

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение PandoraBox2007 »

не пашет тест

Код: Выделить всё

find /var/www/ -type f -name '*.php' -exec tr -d '\15\32' {}\;

терминал свесил ноги и не отвечает
Спасибо сказали:
Аватара пользователя
VarLog
Сообщения: 311
ОС: openSUSE 12.2

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение VarLog »

Возможно он не "не отвечает", а работает? Файлов может быть много. Подождите...
На самом деле всё очень просто...
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение allez »

PandoraBox2007, попробуйте опцию -print0:

Код: Выделить всё

find /var/www/ -type f -name '*.php' -print0 -exec dos2unix {} \;

С ней find будет выводить имена обрабатываемых файлов. Тогда и ясно станет, работает оно или нет.
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение Poor Fred »

PandoraBox2007 писал(а):
19.07.2009 05:09
Преобразовать Windows (формат) на Unix (формат)

Код: Выделить всё

dos2unix
unix2dos

Две "зеркальные" утилитки.
Убить всех человеков!
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение drBatty »

а в slackware есть вот это:

/source/a/bin/todos.tar.gz
/todos/fromdos.c

Код: Выделить всё

/*  Copyright 1994,1995  Patrick Volkerding, Moorhead, Minnesota USA
    All rights reserved.

 Redistribution and use of this source code, with or without modification, is
 permitted provided that the following condition is met:

 1. Redistributions of this source code must retain the above copyright
    notice, this condition, and the following disclaimer.

  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

#include <stdio.h>

int main( int argc, char **argv ) {
     int c;
    if (argc > 1) {
            c = *argv[1];
        if (c == '-') {
            printf("Usage: fromdos < dostextfile > unixtextfile\n");
            exit(1);
        }
    }
    c = getchar();
    while (c != EOF) {
        /* Eat any \r's... they shouldn't be here */
        while (c == '\r') c = getchar();
        if (c == EOF) break;
                putchar(c);
                c = getchar();
    }
    return 0;
}

как обычно комментов в 5 раз больше кода :)
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
PandoraBox2007
Сообщения: 55

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение PandoraBox2007 »

FreeBSD 7.2 (All ports)

dos2unix: No such file or directory

Код: Выделить всё

# whereis dos2unix
dos2unix:
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение allez »

Не оно?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение drBatty »

PandoraBox2007 писал(а):
20.07.2009 20:55
FreeBSD 7.2 (All ports)

dos2unix: No such file or directory

отблина"!!!
компилятора у вас тоже НЕТ???
sed тоже НЕТ?
а что у вас есть???!!!


allez писал(а):
20.07.2009 21:34
Не оно?

не знаю

ЗЫЖ тупая, и тривиальная задача, которая решается одной командой практически в любой ОС, приносит столько проблем?
авторы этих тем -
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение allez »

drBatty писал(а):
20.07.2009 22:02
не знаю
Дык я у автора темы спрашивал. :)
Спасибо сказали:
PandoraBox2007
Сообщения: 55

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение PandoraBox2007 »

dosunix


у меня файлы в формате cp1251

после применения dosunix все файлы были мертвы
Спасибо сказали:
PandoraBox2007
Сообщения: 55

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение PandoraBox2007 »

похоже человеческого решение по этой проблеме нет ладно буду 10 тысяч файлов по одному обрабатывать
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение Lazy_Kent »

Ужас какой...

Код:

sed -i 's/\r//' file.php
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение drBatty »

PandoraBox2007 писал(а):
21.07.2009 23:40
dosunix


у меня файлы в формате cp1251

после применения dosunix все файлы были мертвы

прям как я
похоже человеческого решение по этой проблеме нет ладно буду 10 тысяч файлов по одному обрабатывать

тяжёлое детство
нехватка витаминов


скользкий подоконник...
девятый этаж...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение Poor Fred »

PandoraBox2007 писал(а):
20.07.2009 20:55
FreeBSD 7.2 (All ports)

dos2unix: No such file or directory


А в портах поискать?

Код: Выделить всё

unix2dos-1.3        Translate ASCII files from DOS (cr/lf) to UNIX (lf)

В нем же и "зеркальная" утилита.

PandoraBox2007 писал(а):
22.07.2009 00:07
похоже человеческого решение по этой проблеме нет ладно буду 10 тысяч файлов по одному обрабатывать

Гм. Думаешь, ты первый в мире, у кого такая задача возникла?
Убить всех человеков!
Спасибо сказали:
PandoraBox2007
Сообщения: 55

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение PandoraBox2007 »

тяжёлое детство
нехватка витаминов

скользкий подоконник...
девятый этаж...
не угадал :blush:

Lazy_Kent писал(а):
22.07.2009 00:53
Ужас какой...

Код: Выделить всё

sed -i 's/\r//' file.php
срезало в заголовоке 1й символ пути

bt# sed -i 's/\r//' www/apc.php
sed: ww/apc.php: No such file or directory
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение nesk »

Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Преобразования Windows текстовых файлов в UNIX

Сообщение Lazy_Kent »

PandoraBox2007 писал(а):
24.07.2009 09:41
Lazy_Kent писал(а):
22.07.2009 00:53
Ужас какой...

Код: Выделить всё

sed -i 's/\r//' file.php
срезало в заголовоке 1й символ пути

bt# sed -i 's/\r//' www/apc.php
sed: ww/apc.php: No such file or directory


Ну не нужно так буквально всё воспринимать. Я дал наводку, а как вы имя файла передадите, это ваша забота.
Спасибо сказали: