.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.31) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "dos2unix 1" .TH dos2unix 1 "2015-09-30" "dos2unix" "2015-09-30" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAZWA" .IX Header "NAZWA" dos2unix \- konwerter formatu plików tekstowych między systemami DOS/Mac a Uniksem .SH "SKŁADNIA" .IX Header "SKŁADNIA" .Vb 2 \& dos2unix [opcje] [PLIK ...] [\-n PLIK_WEJ PLIK_WYJ ...] \& unix2dos [opcje] [PLIK ...] [\-n PLIK_WEJ PLIK_WYJ ...] .Ve .SH "OPIS" .IX Header "OPIS" Pakiet Dos2unix zawiera narzędzia \f(CW\*(C`dos2unix\*(C'\fR oraz \f(CW\*(C`unix2dos\*(C'\fR do konwersji zwykłych plików tekstowych między formatami używanymi w systemach \s-1DOS\s0 lub Mac a formatem uniksowym. .PP W plikach tekstowych systemu DOS/Windows oznaczenie końca linii to połączenie dwóch znaków: powrotu karetki (\s-1CR\s0) i przesunięcia linii (\s-1LF\s0). W uniksowych plikach tekstowych koniec linii to pojedynczy znak \s-1LF. W\s0 plikach tekstowych systemu Mac sprzed Mac \s-1OS X\s0 koniec linii był pojedynczym znakiem \&\s-1CR.\s0 Obecnie Mac \s-1OS\s0 wykorzystuje uniksowe końce linii (\s-1LF\s0). .PP Oprócz oznaczeń końców linii Dos2unix potrafi konwertować także kodowanie plików. Kilko stron kodowych DOS-a może być przekonwertowanych do uniksowego Latin\-1, a windowsowy Unicode (\s-1UTF\-16\s0) do powszechniejszego pod Uniksem kodowania Unicode \s-1UTF\-8.\s0 .PP Pliki binarne są pomijane automatycznie, chyba że konwersja zostanie wymuszona. .PP Pliki inne niż zwykłe, np. katalogi lub \s-1FIFO,\s0 są pomijane automatycznie. .PP Dowiązania symboliczne i ich cele są domyślnie pozostawiane bez zmian. Dowiązania symboliczne mogą być opcjonalnie zastępowane, albo wyjście może być zapisywane do celu dowiązania. Zapis do celu dowiązania symbolicznego nie jest obsługiwane pod Windows. .PP Dos2unix powstał na podstawie narzędzia dos2unix z systemu SunOS/Solaris. Jest jedna istotna różnica w stosunku do oryginalnej wersji z SunOS\-a/Solarisa: ta wersja domyślnie wykonuje konwersję w miejscu (tryb starego pliku), podczas gdy oryginalna obsługiwała tylko konwersję parami (tryb nowego pliku) \- p. także opcje \f(CW\*(C`\-o\*(C'\fR i \f(CW\*(C`\-n\*(C'\fR. .SH "OPCJE" .IX Header "OPCJE" .IP "\fB\-\-\fR" 4 .IX Item "--" Potraktowanie wszystkich kolejnych opcji jako nazw plików. Tej opcji należy użyć, aby przekonwertować pliki, których nazwy zaczynają się od minusa. Przykładowo, aby przekonwertować plik o nazwie \*(L"\-foo\*(R", można użyć polecenia: .Sp .Vb 1 \& dos2unix \-\- \-foo .Ve .Sp Lub w trybie nowego pliku: .Sp .Vb 1 \& dos2unix \-n \-\- \-foo out.txt .Ve .IP "\fB\-ascii\fR" 4 .IX Item "-ascii" Konwersja tylko znaków końca linii. Jest to domyślny tryb konwersji. .IP "\fB\-iso\fR" 4 .IX Item "-iso" Konwersja między zestawami znaków \s-1DOS\s0 i \s-1ISO\-8859\-1.\s0 Więcej w sekcji \s-1TRYBY KONWERSJI.\s0 .IP "\fB\-1252\fR" 4 .IX Item "-1252" Użycie strony kodowej Windows 1252 (zachodnioeuropejskiej). .IP "\fB\-437\fR" 4 .IX Item "-437" Użycie strony kodowej \s-1DOS 437 \s0(\s-1US\s0). Jest to domyślna strona kodowa używana przy konwersji \s-1ISO.\s0 .IP "\fB\-850\fR" 4 .IX Item "-850" Użycie strony kodowej \s-1DOS 850 \s0(zachodnioeuropejskiej). .IP "\fB\-860\fR" 4 .IX Item "-860" Użycie strony kodowej \s-1DOS 860 \s0(portugalskiej). .IP "\fB\-863\fR" 4 .IX Item "-863" Użycie strony kodowej \s-1DOS 863 \s0(kanadyjskiej francuskiej). .IP "\fB\-865\fR" 4 .IX Item "-865" Użycie strony kodowej \s-1DOS 865 \s0(nordyckiej). .IP "\fB\-7\fR" 4 .IX Item "-7" Konwersja znaków 8\-bitowych do przestrzeni 7\-bitowej. .IP "\fB\-b, \-\-keep\-bom\fR" 4 .IX Item "-b, --keep-bom" Zachowanie znaku \s-1BOM \s0(Byte Order Makr). Jeżeli plik wejściowy zawiera \s-1BOM,\s0 powoduje zapisanie go w pliku wyjściowym. Jest to domyślne zachowanie przy konwersji na DOS-owe końce linii. P. także opcja \f(CW\*(C`\-r\*(C'\fR. .IP "\fB\-c, \-\-convmode \s-1TRYB_KONW\s0\fR" 4 .IX Item "-c, --convmode TRYB_KONW" Ustawienie trybu konwersji. \s-1TRYB_KONW\s0 to jeden z: \fIascii\fR, \fI7bit\fR, \fIiso\fR, \&\fImac\fR, przy czym domyślny jest ascii. .IP "\fB\-D, \-\-display\-enc \s-1KODOWANIE\s0\fR" 4 .IX Item "-D, --display-enc KODOWANIE" Ustawienie kodowania wyświetlanego tekstu. \s-1KODOWANIE\s0 to jedno z: \fIansi\fR, \&\fIunicode\fR, \fIutf8\fR, przy czym domyślne to ansi. .Sp Ta opcja jest dostępna wyłączenie w programie dos2unix dla Windows z obsługą nazw plików Unicode. Nie ma wpływu na same nawy odczytywanych i zapisywanych plików, a jedynie na sposób ich wyświetlania. .Sp Istnieje kilka sposobów wyświetlania tekstu w konsoli Windows w zależności od kodowania tekstu. Wszystkie mają swoje zalety i wady. .RS 4 .IP "\fBansi\fR" 4 .IX Item "ansi" Domyślna metoda programu dos2unix to stosowanie tekstu kodowanego w \&\s-1ANSI.\s0 Zaletą jest wsteczna zgodność. Działa z fontami rastrowymi, jak i TrueType. W niektórych rejonach może być potrzeba zmiany aktywnej strony kodowej \s-1DOS OEM\s0 na systemową stronę kodową Windows \s-1ANSI\s0 przy użyciu polecenia \f(CW\*(C`chcp\*(C'\fR, ponieważ dos2unix wykorzystuje systemową stronę kodową Windows. .Sp Wadą kodowania ansi jest fakt, że międzynarodowe nazwy plików ze znakami spoza domyślnej systemowej strony kodowej nie są wyświetlane właściwie. Można zamiast tego zobaczyć znak zapytania albo niewłaściwy symbol. Jeżeli nie pracujemy z obcymi nazwami plików, ta metoda jest poprawna. .IP "\fBunicode\fR" 4 .IX Item "unicode" Zaletą kodowania unicode (windowsową nazwą dla \s-1UTF\-16\s0) jest (zwykle) właściwe wyświetlanie tekstu. Nie ma potrzeby zmiany aktywnej strony kodowej. Może być potrzeba zmiany fontu konsoli na font TrueType, aby znaki międzynarodowe były wyświetlane poprawnie. Jeśli znak nie jest obecny w foncie TrueType, zwykle widać mały kwadrat, czasami ze znakiem zapytania w środku. .Sp W przypadku używania konsoli ConEmu cały tekst jest wyświetlany poprawnie, ponieważ ConEmu automatycznie wybiera dobry font. .Sp Wadą kodowania unicode jest niezgodność z \s-1ASCII.\s0 Wyjście nie jest łatwe do obsłużenia w przypadku przekierowania do innego programu lub pliku. Przekierowanie do pliku nie generuje poprawnego pliku w \s-1UTF\-16.\s0 .IP "\fButf8\fR" 4 .IX Item "utf8" Zaletą kodowania utf8 jest zgodność z \s-1ASCII\s0; kiedy przekierowuje się wyjście do pliku, uzyskuje się właściwy plik w \s-1UTF\-8.\s0 Trzeba ustawić font konsoli na font TrueType. Przy użyciu fontu TrueType tekst jest wyświetlany podobnie do kodowania \f(CW\*(C`unicode\*(C'\fR. .Sp Wadą jest fakt, że w przypadku używania domyślnego fontu rastrowego, wszystkie znaki spoza \s-1ASCII\s0 są wyświetlane niepoprawnie. Nie tylko unikodowe nazwy plików, ale także przetłumaczone komunikaty stają się nieczytelne. W Windows skonfigurowanym dla rejonu Azji Wschodniej widać dużo migotania konsoli w trakcie wyświetlania komunikatów. .Sp W konsoli ConEmu metoda kodowania utf8 działa dobrze. .RE .RS 4 .Sp Domyślne kodowanie można zmienić przy użyciu zmiennej środowiskowej \&\s-1DOS2UNIX_DISPLAY_ENC,\s0 ustawiając ją na \f(CW\*(C`unicode\*(C'\fR lub \f(CW\*(C`utf8\*(C'\fR. .RE .IP "\fB\-f, \-\-force\fR" 4 .IX Item "-f, --force" Wymuszenie konwersji plików binarnych. .IP "\fB\-gb, \-\-gb18030\fR" 4 .IX Item "-gb, --gb18030" Pod Windows pliki w \s-1UTF\-16\s0 są domyślnie konwertowane do \s-1UTF\-8,\s0 niezależnie od ustawienia lokalizacji. Ta opcja pozwala przekonwertować pliki w \s-1UTF\-16\s0 do \s-1GB18030.\s0 Opcja jest dostępna tylko pod Windows, więcej w sekcji dotyczącej \s-1GB18030.\s0 .IP "\fB\-h, \-\-help\fR" 4 .IX Item "-h, --help" Wyświetlenie opisu i zakończenie. .IP "\fB\-i[\s-1FLAGI\s0], \-\-info[=FLAGI] \s-1PLIK ...\s0\fR" 4 .IX Item "-i[FLAGI], --info[=FLAGI] PLIK ..." Wyświetlenie informacji o pliku. Konwersja nie jest wykonywana. .Sp Wypisywane są następujące informacje, w tej kolejności: liczba DOS-owych końców linii, liczba uniksowych końców linii, liczba macowych końców linii, znacznik \s-1BOM,\s0 tekstowy lub binarny, nazwa pliku. .Sp Przykładowe wyjście: .Sp .Vb 8 \& 6 0 0 no_bom text dos.txt \& 0 6 0 no_bom text unix.txt \& 0 0 6 no_bom text mac.txt \& 6 6 6 no_bom text mixed.txt \& 50 0 0 UTF\-16LE text utf16le.txt \& 0 50 0 no_bom text utf8unix.txt \& 50 0 0 UTF\-8 text utf8dos.txt \& 2 418 219 no_bom binary dos2unix.exe .Ve .Sp Opcjonalnie można ustawić dodatkowe flagi, aby zmienić wyjście. Można dodać jedną lub więcej flag. .RS 4 .IP "\fBd\fR" 4 .IX Item "d" Wypisanie liczby DOS-owych końców linii. .IP "\fBu\fR" 4 .IX Item "u" Wypisanie liczby uniksowych końców linii. .IP "\fBm\fR" 4 .IX Item "m" Wypisanie liczby macowych końców linii. .IP "\fBb\fR" 4 .IX Item "b" Wypisanie znacznika \s-1BOM.\s0 .IP "\fBt\fR" 4 .IX Item "t" Wypisanie, czy plik jest tekstowy, czy binarny. .IP "\fBc\fR" 4 .IX Item "c" Wypisanie tylko plików, które zostałyby przekonwertowane. .Sp Z flagą \f(CW\*(C`c\*(C'\fR dos2unix wypisze tylko pliki zawierające DOS-owe końce linii, a unix2dos wypisze tylko nazwy plików zawierających uniksowe końce linii. .RE .RS 4 .Sp Przykłady: .Sp Pokazanie informacji o wszystkich plikach *.txt: .Sp .Vb 1 \& dos2unix \-i *.txt .Ve .Sp Pokazanie tylko liczby DOS-owych i uniksowych końców linii: .Sp .Vb 1 \& dos2unix \-idu *.txt .Ve .Sp Pokazanie tylko znacznika \s-1BOM:\s0 .Sp .Vb 1 \& dos2unix \-\-info=b *.txt .Ve .Sp Wypisanie listy plików zawierających DOS-owe końce linii: .Sp .Vb 1 \& dos2unix \-ic *.txt .Ve .Sp Wypisanie listy plików zawierających uniksowe końce linii: .Sp .Vb 1 \& unix2dos \-ic *.txt .Ve .Sp Konwersja tylko plików mających DOS-owe końce linii, pozostawienie pozostałych bez zmian: .Sp .Vb 1 \& dos2unix \-ic *.txt | xargs dos2unix .Ve .Sp Wyszukanie plików tekstowych zawierających DOS-owe końce linii: .Sp .Vb 1 \& find \-name \*(Aq*.txt\*(Aq | xargs dos2unix \-ic .Ve .RE .IP "\fB\-k, \-\-keepdate\fR" 4 .IX Item "-k, --keepdate" Zachowanie znacznika czasu pliku wyjściowego takiego samego, jak pliku wejściowego. .IP "\fB\-L, \-\-license\fR" 4 .IX Item "-L, --license" Wyświetlenie licencji programu. .IP "\fB\-l, \-\-newline\fR" 4 .IX Item "-l, --newline" Dodanie dodatkowego znaku końca linii. .Sp \&\fBdos2unix\fR: tylko DOS-owe znaki końca linii są zamieniane na dwa uniksowe. W trybie Mac tylko macowe znaki końca linii są zamieniane na dwa uniksowe. .Sp \&\fBunix2dos\fR: tylko uniksowe znaki końca linii są zamieniane na dwa DOS-owe. W trybie Mac uniksowe znaki końca linii są zamieniane na dwa macowe. .IP "\fB\-m, \-\-add\-bom\fR" 4 .IX Item "-m, --add-bom" Zapisanie znacznika \s-1BOM \s0(Byte Order Mark) w pliku wyjściowym. Domyślnie zapisywany jest \s-1BOM UTF\-8.\s0 .Sp Jeśli plik wejściowy jest w kodowaniu \s-1UTF\-16\s0 i użyto opcji \f(CW\*(C`\-u\*(C'\fR, zostanie zapisany \s-1BOM UTF\-16.\s0 .Sp Nigdy nie należy używać tej opcji, jeśli kodowanie wyjściowe jest inne niż \&\s-1UTF\-8, UTF\-16\s0 lub \s-1GB18030.\s0 Więcej w sekcji \s-1UNICODE.\s0 .IP "\fB\-n, \-\-newfile \s-1PLIK_WEJ PLIK_WYJ ...\s0\fR" 4 .IX Item "-n, --newfile PLIK_WEJ PLIK_WYJ ..." Tryb nowego pliku. Konwersja \s-1PLIKU_WEJ\s0 z zapisem wyjścia do \s-1PLIKU_WYJ.\s0 Nazwy plików muszą być podane parami, a masek \fInie\fR należy używać, gdyż \&\fIspowoduje\fR to utratę plików. .Sp Osoba uruchamiająca konwersję w trybie nowego pliku (par) będzie właścicielem przekonwertowanego pliku. Prawa odczytu/zapisu nowego pliku będą pochodziły z praw pliku oryginalnego po odjęciu \fIumask\fR\|(1) osoby uruchamiającej konwersję. .IP "\fB\-o, \-\-oldfile \s-1PLIK ...\s0\fR" 4 .IX Item "-o, --oldfile PLIK ..." Tryb starego pliku. Konwersja \s-1PLIKU\s0 i nadpisanie go wyjściem. Program działa domyślnie w tym trybie. Można używać masek. .Sp W trybie starego pliku (w miejscu) przekonwertowany plik otrzymuje tego samego właściciela, grupę oraz prawa odczytu/zapisu, jak plik oryginalny \- także wtedy, gdy plik jest konwertowany przez innego użytkownika, mającego prawo zapisu do pliku (np. przez użytkownika root). Konwersja zostanie przerwana, jeśli nie będzie możliwe zachowanie oryginalnych wartości. Zmiana właściciela mogłaby oznaczać, że pierwotny właściciel nie może już odczytać pliku. Zmiana grupy mogłaby być zagrożeniem bezpieczeństwa, plik mógłby być czytelny dla nie zamierzonych osób. Zachowanie właściciela, grupy i praw odczytu/zapisu jest obsługiwane tylko na Uniksie. .IP "\fB\-q, \-\-quiet\fR" 4 .IX Item "-q, --quiet" Tryb cichy. Pominięcie wszystkich ostrzeżeń i komunikatów. Zwracanym kodem jest zero, chyba że podano błędne opcje linii poleceń. .IP "\fB\-r, \-\-remove\-bom\fR" 4 .IX Item "-r, --remove-bom" Usunięcie znaków \s-1BOM \s0(Byte Order Mark). Bez zapisywania \s-1BOM\s0 do pliku wyjściowego. Jest to domyślne zachowanie przy konwersji na uniksowe końce linii. P. także opcja \f(CW\*(C`\-b\*(C'\fR. .IP "\fB\-s, \-\-safe\fR" 4 .IX Item "-s, --safe" Pominięcie plików binarnych (domyślne). .IP "\fB\-u, \-\-keep\-utf16\fR" 4 .IX Item "-u, --keep-utf16" Zachowanie oryginalnego kodowania pliku wejściowego \s-1UTF\-16.\s0 Plik wyjściowy zostanie zapisany w tym samym kodowaniu \s-1UTF\-16 \s0(little lub big endian), co plik wejściowy. Zapobiega to przekształceniu do \s-1UTF\-8.\s0 Do pliku zostanie zapisany odpowiedni znacznik \s-1BOM UTF\-16.\s0 Tę opcję można wyłączyć opcją \&\f(CW\*(C`\-ascii\*(C'\fR. .IP "\fB\-ul, \-\-assume\-utf16le\fR" 4 .IX Item "-ul, --assume-utf16le" Przyjęcie, że format pliku wejściowego to \s-1UTF\-16LE.\s0 .Sp Jeśli w pliku wejściowym jest znacznik \s-1BOM \s0(Byte Order Mark), ma on priorytet nad tą opcją. .Sp Jeśli przyjęto błędne założenie (plik wejściowy nie jest w formacie \&\s-1UTF\-16LE\s0), a konwersja się uda, wynikiem będzie plik wyjściowy \s-1UTF\-8\s0 ze złym tekstem. Konwersję tę można odwrócić przy użyciu polecenia \fIiconv\fR\|(1) do konwersji wyjścia \s-1UTF\-8\s0 z powrotem do \s-1UTF\-16LE.\s0 Przywróci to plik oryginalny. .Sp Przyjęcie \s-1UTF\-16LE\s0 działa jako \fItryb konwersji\fR. Przy przełączeniu na domyślny tryb \fIascii\fR przyjęcie \s-1UTF\-16LE\s0 jest wyłączane. .IP "\fB\-ub, \-\-assume\-utf16be\fR" 4 .IX Item "-ub, --assume-utf16be" Przyjęcie, że format pliku wejściowego to \s-1UTF\-16BE.\s0 .Sp Ta opcja działa analogicznie do \f(CW\*(C`\-ul\*(C'\fR. .IP "\fB\-v, \-\-verbose\fR" 4 .IX Item "-v, --verbose" Wyświetlanie szczegółowych komunikatów. Wyświetlane śa dodatkowe informacje o znacznikach \s-1BOM \s0(Byte Order Mark) oraz liczbie przekonwertowanych końców linii. .IP "\fB\-F, \-\-follow\-symlink\fR" 4 .IX Item "-F, --follow-symlink" Podążanie za dowiązaniami symbolicznymi i konwertowanie ich celów .IP "\fB\-R, \-\-replace\-symlink\fR" 4 .IX Item "-R, --replace-symlink" Zastępowanie dowiązań symbolicznych przekonwertowanymi plikami (oryginalne pliki docelowe pozostają bez zmian). .IP "\fB\-S, \-\-skip\-symlink\fR" 4 .IX Item "-S, --skip-symlink" Pozostawienie dowiązań symbolicznych i celów bez zmian (domyślne). .IP "\fB\-V, \-\-version\fR" 4 .IX Item "-V, --version" Wyświetlenie informacji o wersji i zakończenie. .SH "TRYB MAC" .IX Header "TRYB MAC" W zwykłym trybie znaki końca linii są konwertowane z DOS-a do Uniksa i odwrotnie. Znaki końca linii systemu Mac nie są konwertowane. .PP W trybie Mac znaki końca linii są konwertowane z formatu Maca do Uniksa i odwrotnie. Znaki końca linii systemu \s-1DOS\s0 nie są zmieniane. .PP Aby uruchomić program w trybie Mac, należy użyć opcji linii poleceń \f(CW\*(C`\-c mac\*(C'\fR albo użyć poleceń \f(CW\*(C`mac2unix\*(C'\fR lub \f(CW\*(C`unix2mac\*(C'\fR. .SH "TRYBY KONWERSJI" .IX Header "TRYBY KONWERSJI" .IP "\fBascii\fR" 4 .IX Item "ascii" W trybie \f(CW\*(C`ascii\*(C'\fR konwertowane są tylko końce linii. Jest to domyślny tryb konwersji. .Sp Mimo że nazwa tego trybu to \s-1ASCII,\s0 które jest standardem 7\-bitowym, jest to tryb 8\-bitowy. Należy zawsze używać tego trybu przy konwersji plików Unicode \&\s-1UTF\-8.\s0 .IP "\fB7bit\fR" 4 .IX Item "7bit" W tym trybie wszystkie znaki 8\-bitowe spoza \s-1ASCII \s0(o wartościach od 128 do 255) są konwertowane do przestrzeni 7\-bitowej. .IP "\fBiso\fR" 4 .IX Item "iso" W tym trybie znaki są konwertowane między zestawem znaków \s-1DOS \s0(stroną kodową) a zestawem znaków \s-1ISO\-8859\-1 \s0(Latin\-1) używanym na Uniksie. Znaki DOS-owe nie mające odpowiednika w \s-1ISO\-8859\-1,\s0 których nie da się przekonwertować, są zamieniane na kropkę. To samo dotyczy znaków \s-1ISO\-8859\-1\s0 bez odpowiednika w DOS-ie. .Sp Jeśli używana jest tylko opcja \f(CW\*(C`\-iso\*(C'\fR, dos2unix próbuje wykryć aktywną stronę kodową. Jeśli nie jest to możliwe, dos2unix używa domyślnej strony kodowej \s-1CP437,\s0 stosowanej głównie w \s-1USA.\s0 Aby wymusić określoną stronę kodową, należy użyć opcji \f(CW\*(C`\-437\*(C'\fR (\s-1US\s0), \f(CW\*(C`\-850\*(C'\fR (zachodnioeuropejska), \&\f(CW\*(C`\-860\*(C'\fR (portugalska), \f(CW\*(C`\-863\*(C'\fR (kanadyjska francuska) lub \f(CW\*(C`\-865\*(C'\fR (nordycka). Ponadto obsługiwana jest strona kodowa Windows \s-1CP1252 \&\s0(zachodnioeuropejska) przy użyciu opcji \f(CW\*(C`\-1252\*(C'\fR. W przypadku innych stron kodowych można użyć narzędzia dos2unix wraz z \fIiconv\fR\|(1). Iconv potrafi konwertować między wieloma kodowaniami znaków. .Sp Nigdy nie należy używać konwersji \s-1ISO\s0 na plikach tekstowych w Unicode. Uszkodziłaby pliki kodowane \s-1UTF\-8.\s0 .Sp Kilka przykładów: .Sp Konwersja z domyślnej strony kodowej \s-1DOS\s0 do uniksowego Latin\-1: .Sp .Vb 1 \& dos2unix \-iso \-n in.txt out.txt .Ve .Sp Konwersja ze strony kodowej \s-1DOS CP850\s0 do uniksowego Latin\-1: .Sp .Vb 1 \& dos2unix \-850 \-n in.txt out.txt .Ve .Sp Konwersja ze strony kodowej Windows \s-1CP1252\s0 do uniksowego Latin\-1: .Sp .Vb 1 \& dos2unix \-1252 \-n in.txt out.txt .Ve .Sp Konwersja ze strony kodowej Windows \s-1CP1252\s0 do uniksowego \s-1UTF\-8 \s0(Unicode): .Sp .Vb 1 \& iconv \-f CP1252 \-t UTF\-8 in.txt | dos2unix > out.txt .Ve .Sp Konwersa z uniksowego Latin\-1 do domyślnej strony kodowej \s-1DOS:\s0 .Sp .Vb 1 \& unix2dos \-iso \-n in.txt out.txt .Ve .Sp Konwersja z uniksowego Latin\-1 do strony kodowej \s-1DOS CP850:\s0 .Sp .Vb 1 \& unix2dos \-850 \-n in.txt out.txt .Ve .Sp Konwersja z uniksowego Latin\-1 do strony kodowej Windows \s-1CP1252:\s0 .Sp .Vb 1 \& unix2dos \-1252 \-n in.txt out.txt .Ve .Sp Konwersja z uniksowego \s-1UTF\-8 \s0(Unicode) do strony kodowej Windows \s-1CP1252:\s0 .Sp .Vb 1 \& unix2dos < in.txt | iconv \-f UTF\-8 \-t CP1252 > out.txt .Ve .Sp Więcej pod adresem oraz . .SH "UNICODE" .IX Header "UNICODE" .SS "Kodowania" .IX Subsection "Kodowania" Istnieją różne kodowania Unicode. Pod Uniksem i Linuksem pliki Unicode są zwykle kodowane z użyciem \s-1UTF\-8.\s0 Pod Windows pliki tekstowe Unicode mogą być kodowane w \s-1UTF\-8, UTF\-16, UTF\-16\s0 big-endian, ale przeważnie są kodowane w \&\s-1UTF\-16.\s0 .SS "Konwersje" .IX Subsection "Konwersje" Pliki tekstowe Unicode mogą mieć znaki końca linii systemu \s-1DOS,\s0 Unix lub Mac, podobnie jak zwykłe pliki tekstowe. .PP Wszystkie wersje dos2unix i unix2dos potrafią konwertować pliki kodowane \&\s-1UTF\-8,\s0 ponieważ \s-1UTF\-8\s0 jest wstecznie zgodne z \s-1ASCII.\s0 .PP Dos2unix i unix2dos z obsługą Unicode \s-1UTF\-16\s0 potrafią odczytywać pliki tekstowe kodowane \s-1UTF\-16\s0 little\- oraz big-endian. Aby sprawdzić, czy dos2unix został zbudowany z obsługą \s-1UTF\-16,\s0 należy napisać \f(CW\*(C`dos2unix \-V\*(C'\fR. .PP Pod Uniksem/Linuksem pliki w kodowaniu \s-1UTF\-16\s0 są konwertowane do kodowania znaków ustawionej lokalizacji. Kodowanie znaków dla lokalizacji można sprawdzić poleceniem \fIlocale\fR\|(1). Jeśli konwersja nie jest możliwa, wystąpi błąd, a plik zostanie pominięty. .PP Pod Windows pliki \s-1UTF\-16\s0 są domyślnie konwertowane do \s-1UTF\-8.\s0 Pliki tekstkowe w kodowaniu \s-1UTF\-8\s0 są dobrze obsługiwane zarówno pod Windows, jak i Uniksem/Linuksem. .PP Kodowania \s-1UTF\-16\s0 i \s-1UTF\-8\s0 są w pełni zgodne, konwersja nie spowoduje utraty żadnej części tekstu. W przypadku wystąpienia błędu konwersji, na przykład w przypadku błędu w pliku wejściowym \s-1UTF\-16,\s0 plik zostanie pominięty. .PP W przypadku użycia opcji \f(CW\*(C`\-u\*(C'\fR, plik wejściowy zostanie zapisany w tym samym kodowaniu \s-1UTF\-16,\s0 co plik wejściowy. Opcja \f(CW\*(C`\-u\*(C'\fR zapobiega konwersji do \&\s-1UTF\-8.\s0 .PP Dos2unix oraz unix2dos nie mają opcji pozwalającej na konwersję plików \s-1UTF\-8\s0 do \s-1UTF\-16.\s0 .PP Tryby konwersji \s-1ISO\s0 i 7\-bit nie działają na plikach \s-1UTF\-16.\s0 .SS "Znacznik \s-1BOM\s0" .IX Subsection "Znacznik BOM" W systemie Windows pliki tekstowe zwykle zawierają znacznik \s-1BOM \s0(Byte Order Mark), ponieważ wiele programów dla Windows (w tym Notepad) dodaje domyślnie znaczniki \s-1BOM.\s0 Więcej informacji można znaleźć pod adresem . .PP Pod Uniksem pliki Unicode zwykle nie mają znacznika \s-1BOM.\s0 Pliki tekstowe są traktowane jako kodowane zgodnie z kodowaniem znaków ustawionej lokalizacji. .PP Dos2unix potrafi wykryć tylko, czy plik jest w formacie \s-1UTF\-16,\s0 jeśli zawiera znacznik \s-1BOM.\s0 Jeśli plik \s-1UTF\-16\s0 nie ma tego znacznika, dos2unix potraktuje plik jako binarny. .PP Do konwersji pliku \s-1UTF\-16\s0 bez znacznika \s-1BOM\s0 można użyć opcji \f(CW\*(C`\-ul\*(C'\fR lub \&\f(CW\*(C`\-ub\*(C'\fR. .PP Dos2unix nie zapisuje domyślnie znaku \s-1BOM\s0 w pliku wyjściowym. Z opcją \f(CW\*(C`\-b\*(C'\fR Dos2unix zapisuje \s-1BOM,\s0 jeśli plik wejściowy zawiera \s-1BOM.\s0 .PP Unix2dos domyślnie zapisuje znaczniki \s-1BOM\s0 w pliku wyjściowym, jeśli plik wejściowy ma \s-1BOM.\s0 Aby usunąć \s-1BOM,\s0 można użyć opcji \f(CW\*(C`\-r\*(C'\fR. .PP Dos2unix oraz unix2dos zawsze zapisują znaczniki \s-1BOM,\s0 jeśli użyta zostanie opcja \f(CW\*(C`\-m\*(C'\fR. .SS "Unikodowe nazwy plików w Windows" .IX Subsection "Unikodowe nazwy plików w Windows" Dos2unix ma opcjonalną obsługę odczytu i zapisu nazw plików Unicode w linii poleceń Windows. Oznacza to, że dos2unix potrafi otwierać pliki zawierające w nazwie znaki spoza domyślnej systemowej strony kodowej \s-1ANSI.\s0 Aby sprawdzić, czy dos2unix dla Windows został zbudowany z obsługą nazw plików Unicode, można wpisać \f(CW\*(C`dos2unix \-V\*(C'\fR. .PP Przy wyświetlaniu nazw plików Unicode w konsoli Windows występuje kilka problemów. Więcej informacji w opisie opcji \f(CW\*(C`\-D\*(C'\fR, \f(CW\*(C`\-\-display\-enc\*(C'\fR. Nazwy plików mogą być wyświetlane błędnie na konsoli, ale pliki będą zapisywane z poprawną nazwą. .SS "Przykłady Unicode" .IX Subsection "Przykłady Unicode" Konwersja pliku \s-1UTF\-16 \s0(z \s-1BOM\s0) z formatu Windows do uniksowego \s-1UTF\-8:\s0 .PP .Vb 1 \& dos2unix \-n in.txt out.txt .Ve .PP Konwersja pliku \s-1UTF\-16LE \s0(bez \s-1BOM\s0) z formatu Windows do uniksowego \s-1UTF\-8:\s0 .PP .Vb 1 \& dos2unix \-ul \-n in.txt out.txt .Ve .PP Konwersja z uniksowego \s-1UTF\-8\s0 do \s-1UTF\-8\s0 z \s-1BOM\s0 dla Windows: .PP .Vb 1 \& unix2dos \-m \-n in.txt out.txt .Ve .PP Konwersja z uniksowego \s-1UTF\-8\s0 do \s-1UTF\-16\s0 dla Windows: .PP .Vb 1 \& unix2dos < in.txt | iconv \-f UTF\-8 \-t UTF\-16 > out.txt .Ve .SH "GB18030" .IX Header "GB18030" \&\s-1GB18030\s0 to standard urzędowy w Chinach. Obowiązkowy podzbiór standardu \&\s-1GB18030\s0 jest oficjalnym wymaganiem każdego oprogramowania sprzedawanego w Chinach. Więcej pod adresem . .PP \&\s-1GB18030\s0 jest w pełni zgodny z Unicode i może być uważany za format transformacji unikodu. Podobnie jak \s-1UTF\-8, GB18030\s0 jest zgodny z \s-1ASCII.\s0 Jest także zgodny ze stroną kodową Windows 936, znaną też jako \s-1GBK.\s0 .PP Pod Uniksem/Linuksem pliki \s-1UTF\-16\s0 są konwertowane do \s-1GB18030,\s0 jeśli kodowanie dla lokalizacji jest ustawione na \s-1GB18030.\s0 Uwaga: będzie to działać tylko, jeśli lokalizacja jest obsługiwana przez system. Listę obsługiwanych lokalizacji można sprawdzić poleceniem \f(CW\*(C`locale \-a\*(C'\fR. .PP Pod Windows w celu konwersji plików \s-1UTF\-16\s0 do \s-1GB18030\s0 należy użyć opcji \&\f(CW\*(C`\-gb\*(C'\fR. .PP Pliki w kodowaniu \s-1GB18030\s0 mogą mieć znacznik \s-1BOM,\s0 podobnie jak pliki w Unicode. .SH "PRZYKŁADY" .IX Header "PRZYKŁADY" Odczyt ze standardowego wejścia i zapis na standardowe wyjście: .PP .Vb 2 \& dos2unix \& dos2unix \-l \-c mac .Ve .PP Konwersja i zastąpienie a.txt; konwersja i zastąpienie b.txt: .PP .Vb 2 \& dos2unix a.txt b.txt \& dos2unix \-o a.txt b.txt .Ve .PP Konwersja i zastąpienie a.txt w trybie ascii: .PP .Vb 1 \& dos2unix a.txt .Ve .PP Konwersja i zastąpienie a.txt w trybie ascii; konwersja i zastąpienie b.txt w trybie 7\-bitowym: .PP .Vb 3 \& dos2unix a.txt \-c 7bit b.txt \& dos2unix \-c ascii a.txt \-c 7bit b.txt \& dos2unix \-ascii a.txt \-7 b.txt .Ve .PP Konwersja a.txt z formatu Mac do formatu uniksowego: .PP .Vb 2 \& dos2unix \-c mac a.txt \& mac2unix a.txt .Ve .PP Konwersja a.txt z formatu uniksowego do formatu Mac: .PP .Vb 2 \& unix2dos \-c mac a.txt \& unix2mac a.txt .Ve .PP Konwersja i zastąpienie a.txt z zachowaniem oryginalnego znacznika czasu: .PP .Vb 2 \& dos2unix \-k a.txt \& dos2unix \-k \-o a.txt .Ve .PP Konwersja a.txt i zapis do e.txt: .PP .Vb 1 \& dos2unix \-n a.txt e.txt .Ve .PP Konwersja a.txt i zapis do e.txt z zachowaniem znacznika czasu e.txt takiego, jak a.txt: .PP .Vb 1 \& dos2unix \-k \-n a.txt e.txt .Ve .PP Konwersja i zastąpienie a.txt; konwersja b.txt i zapis do e.txt: .PP .Vb 2 \& dos2unix a.txt \-n b.txt e.txt \& dos2unix \-o a.txt \-n b.txt e.txt .Ve .PP Konwersja c.txt i zapis do e.txt; konwersja i zastąpienie a.txt; konwersja i zastąpienie b.txt; konwersja d.txt i zapis do f.txt: .PP .Vb 1 \& dos2unix \-n c.txt e.txt \-o a.txt b.txt \-n d.txt f.txt .Ve .SH "KONWERSJA REKURENCYJNA" .IX Header "KONWERSJA REKURENCYJNA" Można użyć dos2unix w połączeniu z poleceniami \fIfind\fR\|(1) i \fIxargs\fR\|(1) do rekurencyjnej konwersji plików tekstowych w strukturze drzewa katalogów. Na przykład, aby przekonwertować wszystkie pliki .txt w drzewie katalogów poniżej katalogu bieżącego, należy napisać: .PP .Vb 1 \& find . \-name \*(Aq*.txt\*(Aq |xargs dos2unix .Ve .PP Z poziomu linii poleceń Windows można użyć następującego polecenia: .PP .Vb 1 \& for /R %G in (*.txt) do dos2unix "%G" .Ve .SH "LOKALIZACJA" .IX Header "LOKALIZACJA" .IP "\fB\s-1LANG\s0\fR" 4 .IX Item "LANG" Główny język wybiera się zmienną środowiskową \s-1LANG.\s0 Zmienna \s-1LANG\s0 składa się z kilku części. Pierwsza część to małe litery oznaczające kod języka. Druga część jest opcjonalna i zawiera kod kraju pisany wielkimi literami, poprzedzony podkreśleniem. Jest także opcjonalna trzecia część: kodowanie znaków, poprzedzone kropką. Kilka przykładów dla powłok zgodnych ze standardem \s-1POSIX:\s0 .Sp .Vb 7 \& export LANG=nl holenderski \& export LANG=nl_NL holenderski, Holandia \& export LANG=nl_BE holenderski, Belgia \& export LANG=es_ES hiszpański, Hiszpania \& export LANG=es_MX hiszpański, Meksyk \& export LANG=en_US.iso88591 angielski, USA, kodowanie Latin\-1 \& export LANG=en_GB.UTF\-8 angielski, Wlk. Brytania, kodowanie UTF\-8 .Ve .Sp Pełną listę kodów języków i krajów można znaleźć w podręczniku do gettexta: .Sp W systemach uniksowych do uzyskania informacji dotyczących lokalizacji można użyć polecenia \fIlocale\fR\|(1). .IP "\fB\s-1LANGUAGE\s0\fR" 4 .IX Item "LANGUAGE" Przy użyciu zmiennej środowiskowej \s-1LANGUAGE\s0 można określić listę języków wg priorytetu, oddzielonych dwukropkami. Dos2unix przyjmuje pierwszeństwo zmiennej \s-1LANGUAGE\s0 nad \s-1LANG.\s0 Na przykład, najpierw holenderski, następnie niemiecki: \f(CW\*(C`LANGUAGE=nl:de\*(C'\fR. Aby skorzystać z listy wg priorytetów ze zmiennej \s-1LANGUAGE,\s0 trzeba najpierw włączyć lokalizację przez ustawienie zmiennej \s-1LANG \s0(lub \s-1LC_ALL\s0) na wartość inną niż \*(L"C\*(R". Więcej informacji znajduje się w podręczniku do gettexta: .Sp W przypadku wybrania niedostępnego języka, otrzymamy standardowe, angielskie komunikaty. .IP "\fB\s-1DOS2UNIX_LOCALEDIR\s0\fR" 4 .IX Item "DOS2UNIX_LOCALEDIR" Przy użyciu zmiennej środowiskowej \s-1DOS2UNIX_LOCALEDIR,\s0 można nadpisać ustawienie \s-1LOCALEDIR\s0 z czasu kompilacji. \s-1LOCALEDIR\s0 to katalog używany do znalezienia plików lokalizacji. Domyślną wartością dla \s-1GNU\s0 jest \&\f(CW\*(C`/usr/local/share/locale\*(C'\fR. Opcja \fB\-\-version\fR wyświetla używaną wartość \&\s-1LOCALEDIR.\s0 .Sp Przykład (dla powłoki \s-1POSIX\s0): .Sp .Vb 1 \& export DOS2UNIX_LOCALEDIR=$HOME/share/locale .Ve .SH "WARTOŚĆ ZWRACANA" .IX Header "WARTOŚĆ ZWRACANA" W przypadku powodzenia zwracane jest zero. Jeśli wystąpi błąd systemowy, zwracany jest ostatni błąd systemowy. W przypadku innych błędów zwracane jest 1. .PP Wartość zwracana w trybie cichym to zawsze zero, z wyjątkiem sytuacji podania błędnych opcji linii poleceń. .SH "STANDARDY" .IX Header "STANDARDY" .PP .PP .PP .SH "AUTORZY" .IX Header "AUTORZY" Benjamin Lin ; Bernd Johannes Wuebben (tryb mac2unix) ; Christian Wurll (dodawanie dodatkowej nowej linii) ; Erwin Waterlander (prowadzący) .PP Strona projektu: .PP Strona SourceForge: .SH "ZOBACZ TAKŻE" .IX Header "ZOBACZ TAKŻE" \&\fIfile\fR\|(1) \fIfind\fR\|(1) \fIiconv\fR\|(1) \fIlocale\fR\|(1) \fIxargs\fR\|(1)