tofrodos

Z funus.net

Pakiet tofrodos zawiera narzędzia pozwalające konwertować znaki końca wierszy w plikach z konwencji przyjętej w systemach uniksowych i Linuksie na obowiązującą pod MS-DOS i Windows oraz odwrotnie. Autorem pakietu jest Christopher Heng.

W systemach uniksowych koniec wiersza oznacza się pojedynczym znakiem LF (ang. Line Feed ─ nowy wiersz), o kodzie szesnastkowym 0x0a. Tymczasem pod Windows stosuje się konwencję odziedziczoną z MS-DOS, zgodnie z którą koniec wiersza jest oznaczany parą znaków: CR LF (ang. Carriage Return i Line Feed ─ powrót karetki i nowy wiersz).

Ta niezgodność prowadzi do kłopotów z czytelnością plików tekstowych zapisanych w jednym systemie a przeglądanych w innym. Pliki w konwencji uniksowej, otwarte pod Windows, na ogół wyglądają tak, jakby składały się z pojedynczego, długiego wiersza, choć niektóre edytory (np. wchodzący w skład Microsoft Visual Studio) radzą sobie z tym. Z kolei pliki zapisane pod Windows, przeglądane pod Linuksem, mają na końcu każdego wiersza dodatkowy "śmieć" ─ znak kontrolny CR, często wyświetlany jako ^M. Tu z kolei np. edytor Vim potrafi poprawnie wyświetlać takie pliki.

Żeby pliki zapisane w jednej konwencji nadawały się do użytku w systemie stosującym drugą, można skorzystać z jednego z programów wchodzących w skład pakietu tofromdos:

  • polecenie dos2unix, występujące też pod nazwą fromdos, konwertuje pliki z formatu DOS/Windows na format uniksowy;
  • polecenie unix2dos, także pod nazwą todos, konwertuje pliki z formatu uniksowego na stosowany w MS-DOS i Windows.