OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

fmt - עיצוב טקסט פשוט

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

כדי להדגים, נצטרך קצת טקסט. בואו נרים קצת מה fmt דף מידע:


`fmt' קורא מהארגומנטים שצוינו FILE (או קלט סטנדרטי אם לא ניתן), וכותב לפלט סטנדרטי.


כברירת מחדל, שורות ריקות, רווחים בין מילים והזחה

`fmt' קורא מהארגומנטים שצוינו FILE (או קלט סטנדרטי אם לא ניתן), וכותב לפלט סטנדרטי.


כברירת מחדל, שורות ריקות, רווחים בין מילים והזחה


נשמר בפלט; שורות קלט עוקבות עם הזחה שונה אינן מצטרפות; כרטיסיות מורחבות בקלט ומוצגות בפלט.


`fmt' מעדיף שבירת שורות בסוף משפט, ומשתדל להימנע ממעברי שורות אחרי המילה הראשונה של משפט או לפני המילה האחרונה של משפט. "הפסקת משפט" מוגדרת כסוף פסקה או מילה המסתיימת בכל אחד מ'.?!', ואחריה שני רווחים או סוף שורה, תוך התעלמות מכל סוגריים או מרכאות מתערבות. כמו TeX, `fmt' קורא "פסקאות" שלמות לפני בחירת מעברי שורות; האלגוריתם הוא גרסה של זה שניתנו על ידי דונלד א. קנוט ומייקל פ. פלאס ב-"Breaking Paragraphs Into Lines",

`תוכנה - תרגול והתנסות' 11, 11 (נובמבר 1981), 1119-1184.

נשמר בפלט; שורות קלט עוקבות עם הזחה שונה אינן מצטרפות; כרטיסיות מורחבות בקלט ומוצגות בפלט.


`fmt' מעדיף שבירת שורות בסוף משפט, ומשתדל להימנע ממעברי שורות אחרי המילה הראשונה של משפט או לפני המילה האחרונה של משפט. "הפסקת משפט" מוגדרת כסוף פסקה או מילה המסתיימת בכל אחד מ'.?!', ואחריה שני רווחים או סוף שורה, תוך התעלמות מכל סוגריים או מרכאות מתערבות. כמו TeX, `fmt' קורא "פסקאות" שלמות לפני בחירת מעברי שורות; האלגוריתם הוא גרסה של זה שניתנו על ידי דונלד א. קנוט ומייקל פ. פלאס ב-"Breaking Paragraphs Into Lines",

`תוכנה - תרגול והתנסות' 11, 11 (נובמבר 1981), 1119-1184.


נעתיק את הטקסט הזה לעורך הטקסט שלנו ונשמור את הקובץ בשם fmt-info.txt. כעת, נניח שרצינו לעצב מחדש את הטקסט הזה כך שיתאים לעמודה ברוחב חמישים תווים. נוכל לעשות זאת על ידי עיבוד הקובץ עם fmt ו -w אפשרות:


[me@linuxbox ~]$ fmt -w 50 fmt-info.txt | רֹאשׁ

`fmt' קורא מהארגומנטים שצוינו FILE (או קלט סטנדרטי if

אף אחד לא נתון), וכותב לפלט סטנדרטי.


כברירת מחדל, שורות ריקות, רווחים בין מילים והזחה

נשמר בפלט; שורות קלט עוקבות עם הזחה שונה אינן מצטרפות; כרטיסיות מורחבות בקלט ומוצגות בפלט.

[me@linuxbox ~]$ fmt -w 50 fmt-info.txt | רֹאשׁ

`fmt' קורא מהארגומנטים שצוינו FILE (או קלט סטנדרטי if

אף אחד לא נתון), וכותב לפלט סטנדרטי.


כברירת מחדל, שורות ריקות, רווחים בין מילים והזחה

נשמר בפלט; שורות קלט עוקבות עם הזחה שונה אינן מצטרפות; כרטיסיות מורחבות בקלט ומוצגות בפלט.


ובכן, זו תוצאה מביכה. אולי באמת כדאי שנקרא את הטקסט הזה, מכיוון שהוא מסביר מה קורה:

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

אז, fmt הוא שומר על ההזחה של השורה הראשונה. לְמַרְבֶּה הַמַזָל, fmt מספק אפשרות לתקן זאת:



[me@linuxbox ~]$ fmt -cw 50 fmt-info.txt

`fmt' קורא מהארגומנטים שצוינו FILE (או קלט סטנדרטי אם לא ניתן), וכותב לפלט סטנדרטי.

[me@linuxbox ~]$ fmt -cw 50 fmt-info.txt

`fmt' קורא מהארגומנטים שצוינו FILE (או קלט סטנדרטי אם לא ניתן), וכותב לפלט סטנדרטי.


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


`fmt' מעדיף שבירת שורות בסוף משפט, ומנסה להימנע ממעברי שורות אחרי המילה הראשונה של המשפט או לפני

מילה אחרונה במשפט. "הפסקת משפט" מוגדרת כסוף פסקה או מילה המסתיימת בכל אחד מ-`.?!', ואחריה שני רווחים או סוף שורה, תוך התעלמות מכל סוג

סוגריים מתערבים או ציטוטים. כמו TeX,

`fmt' קורא "פסקאות" שלמות לפני בחירת מעברי שורה; האלגוריתם הוא גרסה של

זה שניתנו על ידי דונלד א. קנוט ומייקל פ. פלאס ב-"Breaking Paragraphs Into Lines",

`תוכנה--תרגול והתנסות' 11, 11

(נובמבר 1981), 1119-1184.

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


`fmt' מעדיף שבירת שורות בסוף משפט, ומנסה להימנע ממעברי שורות אחרי המילה הראשונה של המשפט או לפני

מילה אחרונה במשפט. "הפסקת משפט" מוגדרת כסוף פסקה או מילה המסתיימת בכל אחד מ-`.?!', ואחריה שני רווחים או סוף שורה, תוך התעלמות מכל סוג

סוגריים מתערבים או ציטוטים. כמו TeX,

`fmt' קורא "פסקאות" שלמות לפני בחירת מעברי שורה; האלגוריתם הוא גרסה של

זה שניתנו על ידי דונלד א. קנוט ומייקל פ. פלאס ב-"Breaking Paragraphs Into Lines",

`תוכנה--תרגול והתנסות' 11, 11

(נובמבר 1981), 1119-1184.


הרבה יותר טוב. על ידי הוספת ה -c אפשרות, כעת יש לנו את התוצאה הרצויה.

ל-fmt יש כמה אפשרויות מעניינות:


טבלה 21-3: אפשרויות fmt


תיאור אפשרות

תיאור אפשרות

-c לפעול ב שולי הכתר מצב. זה משמר את ההזחה של שתי השורות הראשונות של פסקה. השורות הבאות מיושרות עם ההזחה של השורה השנייה.


תמונה

-p מחרוזת עצב רק את השורות המתחילות בקידומת מחרוזת. לאחר העיצוב, התוכן של מחרוזת יש קידומת לכל שורה שפורמטה מחדש. ניתן להשתמש באפשרות זו כדי לעצב טקסט בהערות קוד מקור. לדוגמה, ניתן לעצב כל שפת תכנות או קובץ תצורה המשתמשים בתו "#" כדי לתחום הערה על ידי ציון -p '# ' כך שרק ההערות יעוצבו. ראה את הדוגמה למטה.


תמונה

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


תמונה

-u בצע מרווח אחיד. זה יחול "מכונת כתיבה-


תמונה


תמונה

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


תמונה

-w רוחב עיצוב טקסט כך שיתאים בתוך עמודה רוחב רחב של תווים. ברירת המחדל היא 75 תווים. הערה: fmt למעשה מעצב קווים קצרים מעט מהרוחב שצוין כדי לאפשר איזון קווים.


תמונה


השמיים -p האפשרות מעניינת במיוחד. בעזרתו, נוכל לעצב חלקים נבחרים של קובץ, בתנאי שהשורות שיש לעצב כולן מתחילות באותו רצף של תווים. שפות תכנות רבות משתמשות בסימן הפאונד (#) כדי לציין את תחילתה של הערה וכך ניתן לעצב אותן באמצעות אפשרות זו. בואו ניצור קובץ המדמה תוכנית שמשתמשת בהערות:



[me@linuxbox ~]$ cat > fmt-code.txt

# קובץ זה מכיל קוד עם הערות.


# שורה זו היא הערה.

# ואחריו שורת תגובה נוספת.

# ועוד אחד.


זו, לעומת זאת, שורת קוד. ועוד שורת קוד.

ועוד אחת.

[me@linuxbox ~]$ cat > fmt-code.txt

# קובץ זה מכיל קוד עם הערות.


# שורה זו היא הערה.

# ואחריו שורת תגובה נוספת.

# ועוד אחד.


זו, לעומת זאת, שורת קוד. ועוד שורת קוד.

ועוד אחת.


קובץ הדוגמה שלנו מכיל הערות שמתחילות במחרוזת "# " (# ואחריו רווח) ושורות "קוד" שלא. עכשיו, באמצעות fmt, נוכל לעצב את ההערות ולהשאיר את הקוד ללא נגיעה:



[me@linuxbox ~]$ fmt -w 50 -p '# ' fmt-code.txt

# קובץ זה מכיל קוד עם הערות.


# שורה זו היא הערה. אחריו עוד אחד

שורת תגובה אחת. ועוד אחת.


זו, לעומת זאת, שורת קוד. ועוד שורת קוד.

ועוד אחת.

[me@linuxbox ~]$ fmt -w 50 -p '# ' fmt-code.txt

# קובץ זה מכיל קוד עם הערות.


# שורה זו היא הערה. אחריו עוד אחד

שורת תגובה אחת. ועוד אחת.


זו, לעומת זאת, שורת קוד. ועוד שורת קוד.

ועוד אחת.


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


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: