To pytanie jest bezpośrednio związane z innym pytaniem, które tutaj zadałem.
Linux / Unix mają ładne narzędzia dos2unix
i unix2dos
do konwersji plików tekstowych między dwoma systemami operacyjnymi. Czy istnieją podobne narzędzia dla komputerów Mac i Linux?
Odpowiedzi:
Nie wiem co
dos2unix
iunix2dos
robię dokładnie, ale domyślam się, że zmienia on koniec linii pliku tekstowego z formatu dos na format uniksowy i odwrotnie. Mac (od OS X) i Unix używają tych samych zakończeń linii (line-feed, '\ n'), więc jeśli o to się martwisz, nie musisz nic robić, aby przenosić pliki tam iz powrotem.Użycie
dos2unix -c Mac mac_file
zamienia plik sformatowany na komputerze Mac w plik sformatowany w systemie Unix.źródło
-c mac
było poprawne. Myślę, że jest to pozostałość po latach 80. i 90., gdy klasyczne pliki tekstowe Mac OS (System 1 do Mac OS 9) miały nagie CR (powrót karetki) jako zakończenia linii). Mac OS X korzysta z końcówek linii uniksowych (nagie LF; linie).\n
. W wielu kontekstach jest to technicznie „nowa linia”, co oznacza, że zostanie zastąpiona prawidłową sekwencją końca linii zależną od systemu operacyjnego. Tak więc w systemie Mac OS X i innych systemach uniksowych zostanie zastąpiony znakiem LF ASCII LF (linefeed) 0x0a, ale w systemie Windows może zostać zastąpiony CRLF (0x0d0a). W klasycznym Mac OS (Mac OS 9 i wcześniejszych)\n
sekwencja w MacPerl zostałaby zastąpiona zakończeniem linii CR systemu klasycznego Mac OS (tylko znak powrotu karetki 0x0d ASCII).<CR>
i zastąpił go<LF>
postacią. W przypadku zwykłego pliku systemu Windows<CR><LF>
usunięto tylko plik<CR>
.-c Mac
, dziękuję. Właśnie to musiałem zrobić, aby działało.OS X używa zakończeń linii LF i plików zakodowanych w UTF-8 bez BOM w większości miejsc, takich jak inne platformy uniksowe. Zakończenia linii CR były używane głównie w Mac OS 9 i wcześniejszych wersjach.
Na przykład skrypty AppleScript i tekst skopiowane z niektórych widoków w Finderze i iTunes nadal używają zakończeń linii CR. Można przekonwertować zakończeń linii CR do LF z
mac2unix
,dos2unix -c mac
lubtr \\r \\n
.dos2unix
imac2unix
można go zainstalować za pomocąbrew install dos2unix
.Jeśli potrzebujesz przekonwertować pliki Windows do formatu używanego przez OS X, możesz użyć
dos2unix
. Konwertuje zakończenia linii CRLF na LF. Jeśli plik jest zakodowany jako UTF-16, również konwertuje plik na UTF-8, a jeśli plik ma BOM, usuwa go.źródło