Myślę, że musisz dokładniej określić, jakie typy plików masz. Czy próbujesz to zrobić programowo lub po prostu w powłoce systemu operacyjnego?
Czy chcesz to zrobić na mac lub na unixie?
andcoz
Mam setki plików .c / .h. Chcę przekonwertować wszystkie te pliki na format Mac OS. Jestem w porządku z każdym ze sposobów, ale moim ostatecznym celem jest przekonwertowanie wszystkich plików na format plików mac.
Thangaraj
byłoby dobrze, gdyby był w mac.
Thangaraj
3
Wyszukaj „dos2unix” na superuser.com. Głosowanie w celu migracji. (A tak przy okazji, systemy MacOSX nie używają innego formatu niż Unix ... musiałbyś cofnąć się o wiele lat w systemach operacyjnych Macintosh, aby znaleźć czas, w którym użyli innego formatu niż MS / DOS i UNIX. )
Ether
Odpowiedzi:
2
Pytanie nie mówi wprost, ale zakładam, że masz na myśli pliki tekstowe i musisz przekonwertować format ogranicznika linii? OS X nie jest dostarczany z narzędziami konwertera plików wiersza poleceń, musisz je sam zbudować. Perl jest dobry dla takich narzędzi jak Q & amp; D:
perl -pe 'if (s/\r?\n/\r/g) {$f=1}; if ($f&&eof()) {s/\r\z//}' PCfile.txt >Macfile.txt
lub, aby dokonać konwersji na miejscu:
perl -pe 'if (s/\r?\n/\r/g) {$f=1}; if ($f&&eof()) {s/\r\z//}' -i convertfile.txt
Uwaga: ten skrypt jest nieco bardziej skomplikowany, niż prawdopodobnie musi być, ponieważ jest napisany do pracy zarówno w formacie PC (terminatory linii CRLF), jak i unixowe (terminatory LF), i pozostawia pliki, które są już w starym tradycyjny format MacOS (separatory CR między liniami) sam. Ponadto formaty PC i unix umieszczają terminator po ostatniej linii, podczas gdy format Mac nie (używa separatorów linii, a nie terminatorów), więc ten skrypt wykrywa, kiedy faktycznie się tłumaczy, i usuwa ostatni separator.
Zakończenia linii CR były najczęściej używane w systemie Mac OS 9 i wcześniejszych. OS X używa końcówek linii LF w większości miejsc.
Niektóre z poniższych metod dodają nową linię do końca plików, które nie kończą się znakiem nowej linii. Niektóre nie działają w systemie Windows lub jeśli domyślne zakończenia linii nie są LF.
CRLF do LF:
dos2unix *.txt
sed -i '' $'s/\r//' *.txt
tr -d '\r'
Odpowiedzi:
Pytanie nie mówi wprost, ale zakładam, że masz na myśli pliki tekstowe i musisz przekonwertować format ogranicznika linii? OS X nie jest dostarczany z narzędziami konwertera plików wiersza poleceń, musisz je sam zbudować. Perl jest dobry dla takich narzędzi jak Q & amp; D:
lub, aby dokonać konwersji na miejscu:
Uwaga: ten skrypt jest nieco bardziej skomplikowany, niż prawdopodobnie musi być, ponieważ jest napisany do pracy zarówno w formacie PC (terminatory linii CRLF), jak i unixowe (terminatory LF), i pozostawia pliki, które są już w starym tradycyjny format MacOS (separatory CR między liniami) sam. Ponadto formaty PC i unix umieszczają terminator po ostatniej linii, podczas gdy format Mac nie (używa separatorów linii, a nie terminatorów), więc ten skrypt wykrywa, kiedy faktycznie się tłumaczy, i usuwa ostatni separator.
źródło
Zakończenia linii CR były najczęściej używane w systemie Mac OS 9 i wcześniejszych. OS X używa końcówek linii LF w większości miejsc.
Niektóre z poniższych metod dodają nową linię do końca plików, które nie kończą się znakiem nowej linii. Niektóre nie działają w systemie Windows lub jeśli domyślne zakończenia linii nie są LF.
CRLF do LF:
LF do CRLF:
LF do CR:
CR do LF:
CRLF lub CR do LF:
CRLF lub LF do CR:
źródło