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

דיף, קולורדיף וודיף

דיף

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

התחביר הכללי הוא

 שם קובץ 

ניתן להציג את התוצאות בשתי עמודות עם אפשרות -y --side-by-side . קבל את הרשימה המלאה של אפשרויות הבדל על ידי הקלדת:

 דיפ - 

החבילה "diffutils" כוללת גם diff3 - כלי שיכול להשוות בין שלושה קבצים ולמזג שלוש גרסאות של קובץ. מדריך גדול כדי להפיק את רוב הבדל ניתן למצוא באתר הרשמי.

קולורדיף

Colordiff הוא טכנית "עטיפה" או סקריפט זה משנה את הפלט של הבדל על ידי צביעה לפי ההעדפות שלך בקובץ התצורה ("/ etc / colordiffrc" או "/home/user/.colordiffrc"). החבילה colordiff זמין במאגרים של רוב ההפצות.

Colordiff יש את אותן אפשרויות כמו diff, ואתה יכול להשתמש בו ישירות על ידי הקלדת:

 colordiff -options filename1.txt filename2.txt 

או על ידי צנרת הפלט של הבדל אליו:

 diff -u filename1.txt filename2.txt | קולורדיף 

וודיף

כלי דומה נוסף קצת יותר מקצועי הוא wdiff אשר יכול להשוות קבצים מילה מילה (זה מגדיר מילה כמו כל דבר מוקף בחלל לבן). Wdiff יכול להתעלם מהמקרה ( -i ), לספק נתונים סטטיסטיים ( -s ) על שינויים בקבצים נתונים, ולהדגיש הבדלים עם עיצוב ( -p ). ניתן גם לשלב colordiff ו wdiff כדי לקבל סקירה מקודדת צבע של הבדלי מילים בין קבצים:

 wdiff -n filename1.txt filename2.txt | קולורדיף 

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

מצבי Diff ב Vim ו Emacs

עורכי טקסט פופולריים Vim ו Emacs יש מצב הבדל מובנית. כדי להפעיל אותו ב- Vim, ניתן להפעיל את התוכנית עם הפקודה vimdiff ולהוסיף עד ארבעה קבצים כדי להשוות:

 vimdiff file1 file2 [file3 [file4]] 

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

משתמשי Emax יכולים לבחור בין סיומת diff (המכונה "מצב מרכזי") או Ediff, מצב מעט יותר מתקדם המאפשר לך לשנות באופן אינטראקטיבי קבצים. בדומה ל - Vim, Emacs יכולים להציג קבצים בחלונות נפרדים, זה לצד זה, ומדגישים את ההבדלים. אתה יכול גם להשתמש בו כדי למזג קבצים, וזה עובד עם קבצים דחוסים, גם.

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

Kdiff3

Kdiff3 הוא Frontend גרפי כדי להבדיל, כלומר זה מסתמך על הבדל ומציע את כל האפשרויות שלה. זה מאפשר לך להשוות שני קבצים לקובץ בסיס, ולמזג, לפצל ולהצטרף תיקיות שלמות, קבצים או רק חלקים נבחרים של טקסט. Kdiff3 משתלב היטב עם KDE (תומך בתפריטי שירות Dolphin), אבל זה יעבוד על כל הפצות לינוקס, Windows ו- Mac OS X. תיבת הדו-שיח "Settings -> Configigure Kdiff3" מאפשרת לך להגדיר פרמטרים עבור השוואת קבצים בתיקיות (לפי תאריך, גודל, השוואה בינארית, או תוכן מלא) ובין קבצים (התעלמות ממקרה, מספרים ומרחב לבן). ניתן להחליף בין גלישת מילים ומספרי שורות לקבלת סקירה טובה יותר ולהתאים את הגדרות הצבע לסימון ההבדלים.

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

מְפוּזָר

במבט ראשון זה נראה פשוט, אבל דיפוז הוא חזק באותה מידה כמו כלים אחרים ברשימה זו. זה יכול להשוות את מספר בלתי מוגבל של קבצים בתצוגה זה לצד זה ולסכם את ההבדלים. אתה יכול לערוך קבצים ישירות מפוזר ולבצע מיזוגים והתאמת שורה. הוא תומך גם (מוגבל) הדגשת תחביר ומציע שילוב עם מספר מערכות בקרת גרסאות - כולל Git, Mercurial ו חתרנות - כדי לעזור לך לשמור קבצים מסונכרנים. Diffuse עובד על לינוקס, Windows ו- Mac OS X, ואתה יכול להוריד את חבילות ההתקנה מאתר הפרויקט.

דימפרג '

יישום זה עובד על לינוקס, Windows ו- OS X, משתלב היטב עם סייר Windows, ומציע חבילות מתקין עבור כמה הפצות. ניתן לערוך קבצים בתוך Diffmerge, למזג באופן אוטומטי גרסאות קובץ והבדלי ייצוא לקובץ חדש. זה יכול להשוות עד שלושה קבצים ושתי תיקיות ולהראות אם הקבצים זהים, אשר יכול להיות שימושי בעת בדיקת אם גיבוי rsync בוצעה כראוי.

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

Meld

Meld חבילות תכונות של כלים הבדל אחר לתוך ממשק בנוי Python. ניתן להוריד את המקור ואת גירסת Windows, ולמצוא את החבילה במאגרים אם אתה משתמש Ubuntu, Fedora או SUSE. דבר מגניב על Meld הוא שאתה לא צריך להתקין את זה - פשוט להפעיל את ההפעלה ולהשתמש בו כמו יישום נייד.

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

אפשרויות אחרות

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

האם אתה משתמש בכלי הבדל שאינו ברשימה זו? ספר לנו על זה הערות.

זיכוי תמונה: מקור תמונה טיזר