Kir Kolyshkin (k001) wrote,
Kir Kolyshkin
k001

Categories:

программазмы / dos2unix

Говно, а не программа! © ОСП студия.


В общем, в операционных системах UNIX, DOS/Windows и MAC конец строки в текстовом файле обозначается по-разному (есть тому исторические причины, не буду вдаваться). Поэтому люди написали специальную программулину, которая преобразует текстовые файлы из одного формата в другой. Называется - dos2unix.

Собственно, эта прога должна делать очень простую вещь - по всему файлу два подряд идущих символа c кодами 10, 13 заменять на один символ с кодом 10. И она-таки с этим не справляется!

А всё потому, что результат своей работы она записывает во временный файл, находящийся в текущем каталоге. Далее она дёргает системный вызов rename для переименования временного файла в тот, оригинальный. Несложно догадаться, что произойдет в случае, если эти два файла лежат в разных файловых системах. Нельзя переименовать файл на другую файловую систему - его можно туда только скопировать!

В общем, оно вываливается с невразумительной ошибкой.

Так не пишите программы никто.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 10 comments