mac2unix - מקוון בענן

זוהי הפקודה mac2unix שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


dos2unix - DOS/Mac ל-Unix ולהיפך ממיר פורמטים של קבצי טקסט

תַקצִיר


dos2unix [אפשרויות] [קובץ ...] [-n INFILE OUTFILE ...]
unix2dos [אפשרויות] [קובץ ...] [-n INFILE OUTFILE ...]

תיאור


חבילת Dos2unix כוללת כלי עזר "dos2unix" ו-"unix2dos" להמרת טקסט רגיל
קבצים בפורמט DOS או Mac לפורמט Unix ולהיפך.

בקובצי טקסט DOS/Windows מעבר שורה, הידוע גם בשם newline, הוא שילוב של שניים
תווים: Carriage Return (CR) ואחריו הזנת שורה (LF). בקובצי טקסט יוניקס שורה
הפסקה היא תו בודד: הזנת השורה (LF). בקובצי טקסט של Mac, לפני Mac OS X, א
מעבר השורה היה תו יחיד של החזרת כרכרה (CR). כיום Mac OS משתמשת בסגנון יוניקס (LF)
מעברי שורות.

מלבד מעברי שורות Dos2unix יכול גם להמיר את הקידוד של קבצים. כמה דפי קוד DOS
ניתן להמיר ל-Unix Latin-1. וניתן להמיר קבצי Windows Unicode (UTF-16).
קבצי Unix Unicode (UTF-8).

קבצים בינאריים מדלגים אוטומטית, אלא אם ההמרה נכפת.

קבצים לא רגילים, כגון ספריות ו-FIFOs, מדלגים אוטומטית.

קישורים סמליים והמטרות שלהם נשמרים כברירת מחדל ללא נגיעה. קישורים סמליים יכולים
אופציונלי להחליף, או שניתן לכתוב את הפלט אל יעד הקישור הסימבולי.
קישורים סמליים ב-Windows אינם נתמכים. קישורים סמליים של Windows מוחלפים תמיד,
שמירה על היעדים ללא שינוי.

Dos2unix עוצב לאחר dos2unix תחת SunOS/Solaris ויש לו מצבי המרה דומים.

אפשרויות


-- התייחס לכל האפשרויות הבאות כשמות קבצים. השתמש באפשרות זו אם ברצונך להמיר
קבצים ששמותיהם מתחילים במקף. למשל כדי להמיר קובץ בשם "-foo", אתה
יכול להשתמש בפקודה הזו:

dos2unix -- -פו

או במצב קובץ חדש:

dos2unix -n -- -foo out.txt

-ascii
המר רק מעברי שורה. זהו מצב ההמרה המוגדר כברירת מחדל.

-איזו
המרה בין DOS ומערכת תווים ISO-8859-1. ראה גם סעיף המרה
מצבים.

-1252
השתמש בדף הקוד של Windows 1252 (מערב אירופה).

-437
השתמש בדף קוד DOS 437 (ארה"ב). זהו דף הקוד המוגדר כברירת מחדל המשמש להמרת ISO.

-850
השתמש בדף קוד DOS 850 (מערב אירופה).

-860
השתמש בדף קוד DOS 860 (פורטוגזית).

-863
השתמש בדף קוד DOS 863 (צרפתית קנדית).

-865
השתמש בדף קוד DOS 865 (נורדי).

-7 המרת תווים של 8 סיביות לרווח של 7 סיביות.

-ג, --convmode CONVMODE
הגדר מצב המרה. כאשר CONVMODE הוא אחד מ: ASCII, 7bit, iso, מק עם הוויה של ascii
ברירת המחדל.

-ו, --כּוֹחַ
כוח המרה של קבצים בינאריים.

-ח, - עזרה
הצג עזרה וצא.

-ק, --שמור את התאריך
שמור את חותמת התאריך של קובץ הפלט זהה לקובץ הקלט.

-ל, --רישיון
הצג את הרישיון של התוכנית.

-ל, --שורה חדשה
הוסף שורה חדשה נוספת.

dos2unix: רק מעברי שורות ב-DOS משתנים לשני מעברי שורה ב-Unix. במצב Mac בלבד
מעברי שורות ב-Mac משתנים לשני מעברי שורה ב-Unix.

unix2dos: רק מעברי שורה ב-Unix משתנים לשני מעברי שורה ב-DOS. במצב Mac Unix
מעברי שורה משתנים לשני מעברי שורה של Mac.

-M, --add-bom
כתוב UTF-8 Byte Order Mark בקובץ הפלט. לעולם אל תשתמש באפשרות זו כאשר ה
קידוד הפלט שונה מ-UTF-8. ראה גם סעיף UNICODE.

-נ, --קובץ חדש בקובץ קובץ חוץ ...
מצב קובץ חדש. המר את הקובץ INFILE וכתוב פלט לקובץ OUTFILE. שמות קבצים חייבים
להינתן בזוגות ושמות תווים כלליים צריכים להינתן לֹא להיות בשימוש או אתה יצטרך לאבד את הקבצים שלך.

האדם שמתחיל את ההמרה במצב קובץ חדש (מזווג) יהיה הבעלים של
הקובץ שהומר. הרשאות הקריאה/כתיבה של הקובץ החדש יהיו ההרשאות
של הקובץ המקורי פחות ה אומסק(1) של מי שמנהל את הגיור.

-או, --oldfile קובץ ...
מצב קובץ ישן. המר את הקובץ FILE והחלף את הפלט אליו. ברירת המחדל של התוכנית היא
לרוץ במצב זה. ניתן להשתמש בשמות תווים כלליים.

במצב קובץ ישן (במקום) הקובץ שהומר מקבל את אותו בעלים, קבוצה ו
הרשאות קריאה/כתיבה כקובץ המקורי. גם כאשר הקובץ מומר על ידי
משתמש אחר שיש לו הרשאות כתיבה על הקובץ (למשל שורש משתמש). ההמרה
יבוטל כאשר לא ניתן לשמר את הערכים המקוריים. שינוי של
יכול להיות שהבעלים המקורי אינו מסוגל לקרוא את הקובץ יותר. שינוי
של הקבוצה יכול להיות סיכון אבטחה, הקובץ יכול להיות קריא עבור אנשים עבור
למי זה לא נועד. שמירה על הרשאות הבעלים, הקבוצה והקריאה/כתיבה היא
נתמך רק ב-Unix.

-q, --שֶׁקֶט
מצב שקט. דחק את כל האזהרות וההודעות. ערך ההחזר הוא אפס. אלא מתי
נעשה שימוש באפשרויות שורת פקודה שגויות.

-ס, --בטוח
דלג על קבצים בינאריים (ברירת מחדל).

לקליק, --assume-utf16le
נניח שפורמט קובץ הקלט הוא UTF-16LE.

כאשר יש סימן סדר Byte בקובץ הקלט ל-BOM יש עדיפות על זה
אוֹפְּצִיָה.

כאשר הנחת הנחה שגויה (קובץ הקלט לא היה בפורמט UTF-16LE) וה-
ההמרה הצליחה, תקבל קובץ פלט UTF-8 עם טקסט שגוי. אתה יכול לבטל
המרה שגויה עם סמל(1) על ידי המרת קובץ הפלט UTF-8 בחזרה ל
UTF-16LE. זה יחזיר את הקובץ המקורי.

ההנחה של UTF-16LE עובדת כמו א המרה מצב. על ידי מעבר לברירת המחדל
ASCII במצב הנחת UTF-16LE כבויה.

-וב, --assume-utf16be
נניח שפורמט קובץ הקלט הוא UTF-16BE.

אפשרות זו פועלת כמו האפשרות "-ul".

-ו, --עקוב אחרי-קישור
עקוב אחר קישורים סמליים והמר את המטרות.

-ר, --replace-symlink
החלף קישורים סמליים בקבצים שהומרו (קבצי היעד המקוריים נשארים ללא שינוי).

-S, --דלג-קישור סימן
השאר קישורים ויעדים סימבוליים ללא שינוי (ברירת מחדל).

-V, --גִרְסָה
הצג מידע גרסה וצא.

מק MODE


במצב רגיל מעברי שורות מומרים מ-DOS ל-Unix ולהיפך. קו מקש נשבר
אינם מומרים.

במצב Mac מעברי שורות מומרים מ-Mac ל-Unix ולהיפך. מעברי שורות ב-DOS הם
לא השתנה.

כדי להפעיל במצב Mac השתמש באפשרות שורת הפקודה "-c mac" או השתמש בפקודות "mac2unix" או
"unix2mac".

המרה מצבים


מצבי המרה ASCII, 7bit, ו iso דומים לאלו של dos2unix/unix2dos under
SunOS/Solaris.

ASCII
במצב "ascii" רק מעברי שורות מומרים. זהו מצב ההמרה המוגדר כברירת מחדל.

למרות שהשם של מצב זה הוא ASCII, שהוא תקן של 7 סיביות, המצב בפועל הוא
8 ביט. השתמש תמיד במצב זה בעת המרת קבצי Unicode UTF-8.

7bit
במצב זה כל תווי 8 סיביות שאינם ASCII (עם ערכים מ-128 עד 255) הם
הומר למרחב של 7 סיביות.

iso תווים מומרים בין ערכת תווים של DOS (דף קוד) לבין ערכת תווים ISO
ISO-8859-1 (לטינית-1) ב-Unix. תווי DOS ללא מקבילה ISO-8859-1, עבורם
המרה אינה אפשרית, מומרים לנקודה. אותו דבר לגבי ISO-8859-1
תווים ללא מקביל DOS.

כאשר רק האפשרות "-iso" משמשת dos2unix ינסה לקבוע את דף הקוד הפעיל.
כאשר זה לא אפשרי dos2unix ישתמש בדף קוד ברירת מחדל CP437, שהוא בעיקר
בשימוש בארה"ב. כדי לאלץ דף קוד ספציפי, השתמש באפשרויות "-437" (ארה"ב), "-850"
(מערב אירופה), "-860" (פורטוגזית), "-863" (צרפתית קנדית), או "-865" (נורדית).
דף הקוד של Windows CP1252 (מערב אירופה) נתמך גם עם אפשרות "-1252". ל
דפי קוד אחרים משתמשים ב-dos2unix בשילוב עם סמל(1). Iconv יכול להמיר בין
רשימה ארוכה של קידודי תווים.

לעולם אל תשתמש בהמרת ISO בקובצי טקסט של Unicode. זה ישחית קבצים מקודדים UTF-8.

כמה דוגמאות:

המר מדף קוד ברירת המחדל של DOS ל-Unix Latin-1

dos2unix -iso -n in.txt out.txt

המר מ-DOS CP850 ל-Unix Latin-1

dos2unix -850 -n in.txt out.txt

המר מ-Windows CP1252 ל-Unix Latin-1

dos2unix -1252 -n in.txt out.txt

המר מ-Windows CP1252 ל-Unix UTF-8 (Unicode)

iconv -f CP1252 -t UTF-8 in.txt | dos2unix > out.txt

המר מ-Unix Latin-1 לדף קוד ברירת מחדל של DOS.

unix2dos -iso -n in.txt out.txt

המר מ-Unix Latin-1 ל-DOS CP850

unix2dos -850 -n in.txt out.txt

המר מ-Unix Latin-1 ל-Windows CP1252

unix2dos -1252 -n in.txt out.txt

המר מ-Unix UTF-8 (Unicode) ל-Windows CP1252

unix2dos < in.txt | iconv -f UTF-8 -t CP1252 > out.txt

ראה גםhttp://czyborra.com/charsets/codepages.html> ו
<http://czyborra.com/charsets/iso8859.html>.

UNICODE


קידודים
קיימים קידודים שונים של Unicode. ב-Unix ולינוקס קבצי Unicode הם בדרך כלל
מקודד בקידוד UTF-8. ב-Windows Unicode ניתן לקודד קבצי טקסט ב-UTF-8, UTF-16,
או UTF-16 big endian, אך מקודדים לרוב בפורמט UTF-16.

המרה
לקובצי טקסט של Unicode יכולים להיות מעברי שורות DOS, Unix או Mac, כמו קבצי טקסט רגילים.

כל הגרסאות של dos2unix ו-unix2dos יכולות להמיר קבצים מקודדים ב-UTF-8, מכיוון ש-UTF-8 היה
מיועד לתאימות לאחור עם ASCII.

Dos2unix ו-unix2dos עם תמיכה ב-Unicode UTF-16, יכולים לקרוא אנדיאן UTF-16 קטן וגדול
קבצי טקסט מקודדים. כדי לראות אם dos2unix נבנה עם תמיכה ב-UTF-16, סוג "dos2unix -V".

גרסאות Windows של dos2unix ו-unix2dos ממירות קבצים מקודדים UTF-16 תמיד ל-UTF-8
קבצים מקודדים. גרסאות יוניקס של dos2unix/unix2dos ממירות קבצים מקודדים UTF-16 ל-
קידוד תווים מקומי כאשר הוא מוגדר ל-UTF-8. להשתמש ב אזור(1) פקודה לברר
מהו קידוד התווים המקומי.

מכיוון שקובצי טקסט בפורמט UTF-8 נתמכים היטב גם ב-Windows וגם ב-Unix, dos2unix
ול-unix2dos אין אפשרות לכתוב קבצי UTF-16. ניתן לקודד את כל תווי UTF-16
UTF-8. ההמרה מ-UTF-16 ל-UTF-8 היא ללא הפסד. יתבצע דילוג על קבצי UTF-16
Unix כאשר קידוד התווים של המקום אינו UTF-8, כדי למנוע אובדן מקרי של טקסט.
כאשר מתרחשת שגיאת המרה UTF-16 ל-UTF-8, למשל כאשר קובץ הקלט UTF-16
מכיל שגיאה, הקובץ ידלג.

המרת ISO ו-7 סיביות לא עובדות על קבצי UTF-16.

בתים הזמן סמן
ב-Windows Unicode לקבצי טקסט יש בדרך כלל סימן סדר בתים (BOM), מכיוון שהרבה חלונות
תוכניות (כולל Notepad) מוסיפות BOM כברירת מחדל. ראה גם
<http://en.wikipedia.org/wiki/Byte_order_mark>.

ב-Unix לקבצי Unicode בדרך כלל אין BOM. ההנחה היא שקובצי טקסט הם
מקודד בקידוד התווים של המקום.

Dos2unix יכול לזהות רק אם קובץ הוא בפורמט UTF-16 אם לקובץ יש BOM. כאשר א
לקובץ UTF-16 אין BOM, dos2unix יראה את הקובץ כקובץ בינארי.

השתמש באפשרות "-ul" או "-ub" כדי להמיר קובץ UTF-16 ללא BOM.

Dos2unix לעולם לא כותב BOM בקובץ הפלט, אלא אם כן אתה משתמש באפשרות "-m".

Unix2dos כותב BOM בקובץ הפלט כאשר לקובץ הקלט יש BOM, או כאשר אפשרות
נעשה שימוש ב-"-m".

Unicode דוגמאות
המר מ-Windows UTF-16 (עם BOM) ל-Unix UTF-8

dos2unix -n in.txt out.txt

המר מ-Windows UTF-16LE (ללא BOM) ל-Unix UTF-8

dos2unix -ul -n in.txt out.txt

המר מ-Unix UTF-8 ל-Windows UTF-8 עם BOM

unix2dos -m -n in.txt out.txt

המר מ-Unix UTF-8 ל-Windows UTF-16

unix2dos < in.txt | iconv -f UTF-8 -t UTF-16 > out.txt

דוגמאות


קרא קלט מ'stdin' וכתוב פלט ל'stdout'.

dos2unix
dos2unix -l -c mac

המר והחלף a.txt. המרה והחלפת b.txt.

dos2unix a.txt b.txt
dos2unix -o a.txt b.txt

המר והחלף a.txt במצב המרה ascii.

dos2unix a.txt

המר והחלף a.txt במצב המרה ascii. המר והחלף את b.txt ב-7bit
מצב המרה.

dos2unix a.txt -c 7bit b.txt
dos2unix -c ascii a.txt -c 7bit b.txt
dos2unix -ascii a.txt -7 b.txt

המרת a.txt מפורמט Mac ל-Unix.

dos2unix -c mac a.txt
mac2unix a.txt

המרת a.txt מפורמט Unix ל-Mac.

unix2dos -c mac a.txt
unix2mac a.txt

המר והחלף a.txt תוך שמירה על חותמת התאריך המקורית.

dos2unix -k a.txt
dos2unix -k -o a.txt

המר a.txt וכתוב ל-e.txt.

dos2unix -n a.txt e.txt

המר a.txt וכתוב ל-e.txt, שמור את חותמת התאריך של e.txt זהה ל-a.txt.

dos2unix -k -n a.txt e.txt

המר והחלף a.txt. המר את b.txt וכתוב ל-e.txt.

dos2unix a.txt -n b.txt e.txt
dos2unix -o a.txt -n b.txt e.txt

המר את c.txt וכתוב ל-e.txt. המר והחלף a.txt. המרה והחלפת b.txt.
המר d.txt וכתוב ל-f.txt.

dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt

רקורסיבי המרה


השתמש ב-dos2unix בשילוב עם למצוא(1) ו קסארגס(1) פקודות להמרה רקורסיבית
קבצי טקסט במבנה עץ ספריות. למשל כדי להמיר את כל קובצי ה-txt בקובץ
עץ ספריות תחת סוג הספרייה הנוכחי:

למצוא . -name *.txt |xargs dos2unix

יישוב


שפה
השפה הראשית נבחרת עם משתנה הסביבה LANG. המשתנה LANG
מורכב מכמה חלקים. החלק הראשון הוא באותיות קטנות קוד השפה.
השני הוא אופציונלי והוא קוד המדינה באותיות גדולות, שלפניו א
מדגיש. יש גם חלק שלישי אופציונלי: קידוד תווים, לפניו א
נְקוּדָה. כמה דוגמאות לקונכיות מסוג POSIX סטנדרטי:

ייצוא LANG=nl הולנדית
ייצוא LANG=nl_NL הולנדית, הולנד
ייצוא LANG=nl_BE הולנדית, בלגיה
ייצוא LANG=es_ES ספרדית, ספרד
ייצוא LANG=es_MX ספרדית, מקסיקו
export LANG=en_US.iso88591 אנגלית, ארה"ב, קידוד Latin-1
ייצא LANG=en_GB.UTF-8 באנגלית, בריטניה, קידוד UTF-8

לרשימה מלאה של קודי שפה וקודי מדינה עיין במדריך gettext:
<http://www.gnu.org/software/gettext/manual/gettext.html#שפה-קודים>

במערכות יוניקס אתה יכול להשתמש לפקודות אזור(1) כדי לקבל מידע ספציפי לאזור.

שָׂפָה
עם משתנה הסביבה LANGUAGE אתה יכול לציין רשימת עדיפות של שפות,
מופרדים על ידי נקודתיים. Dos2unix נותן עדיפות ל-LANGUAGE על פני LANG. לדוגמה,
תחילה הולנדית ואחר כך גרמנית: "LANGUAGE=nl:de". תחילה עליך להפעיל לוקליזציה,
על ידי הגדרת LANG (או LC_ALL) לערך שאינו "C", לפני שתוכל להשתמש בשפה
רשימת עדיפות דרך המשתנה LANGUAGE. ראה גם את המדריך של gettext:
<http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable>

אם תבחר בשפה שאינה זמינה, תקבל את האנגלית הרגילה
הודעות.

DOS2UNIX_LOCALEDIR
עם משתנה הסביבה DOS2UNIX_LOCALEDIR ה-LOCALEDIR מוגדר במהלך ההידור
ניתן לבטל. LOCALEDIR משמש למציאת קבצי השפה. ערך ברירת המחדל של GNU
הוא "/usr/local/share/locale". אוֹפְּצִיָה --גִרְסָה יציג את ה-LOCALEDIR כלומר
מְשׁוּמָשׁ.

דוגמה (מעטפת POSIX):

ייצוא DOS2UNIX_LOCALEDIR=$HOME/share/locale

לַחֲזוֹר ערך


עם הצלחה, אפס מוחזר. כאשר מתרחשת שגיאת מערכת, שגיאת המערכת האחרונה תהיה
חזר. עבור שגיאות אחרות מוחזר 1.

ערך ההחזרה הוא תמיד אפס במצב שקט, למעט כשאפשרויות שורת פקודה שגויות
מְשׁוּמָשׁ.

תקנים


<http://en.wikipedia.org/wiki/Text_file>

<http://en.wikipedia.org/wiki/Carriage_return>

<http://en.wikipedia.org/wiki/Newline>

<http://en.wikipedia.org/wiki/Unicode>

מחברים


בנג'מין לין -blin@socs.uts.edu.au> ברנד יוהנס וובן (מצב mac2unix) -
<wuebben@kde.org>, כריסטיאן וורל (הוסף שורה חדשה נוספת) -wurll@ira.uka.de>, ארווין
ווטרלנדר -waterlan@xs4all.nl> (מתחזק)

עמוד הפרויקט:http://waterlan.home.xs4all.nl/dos2unix.html>

עמוד SourceForge:http://sourceforge.net/projects/dos2unix/>

Freecode:http://freecode.com/projects/dos2unix>

השתמש ב-mac2unix באופן מקוון באמצעות שירותי onworks.net



התוכניות המקוונות האחרונות של לינוקס ו-Windows