מדריך זה יראה לך כיצד להשתמש בלינוקס כדי להשוות בין שני קבצים פלט הפלט שלהם למסך או לקובץ.
אתה לא צריך להתקין כל תוכנה מיוחדת על מנת להשוות קבצים באמצעות לינוקס אבל אתה צריך לדעת איך לפתוח חלון מסוף.
כמו המדריך המקושר מראה ישנן דרכים רבות לפתוח חלון מסוף באמצעות לינוקס. הפשוטה ביותר היא ללחוץ על המקשים CTRL, ALT ו- T באותו זמן.
יצירת קבצים להשוות
כדי לעקוב אחר מדריך זה, צור קובץ בשם "file1" והזן את הטקסט הבא:
10 בקבוקים ירוקים עומדים על קיר
10 בקבוקים ירוקים עומדים על קיר
אם בקבוק ירוק אחד צריך ליפול בטעות
על הקיר היו 9 בקבוקים ירוקים
ניתן ליצור קובץ על פי ההנחיות הבאות:
-
פתח את הקובץ על ידי הקלדת הפקודה הבאה: nano file1
-
הקלד את הטקסט בעורך ה- nano
-
לחץ על CTRL ו- O כדי לשמור את הקובץ
-
לחץ על CTRL ו- X כדי לצאת מהקובץ
עכשיו ליצור קובץ נוסף בשם "file2" והזן את הטקסט הבא:
10 בקבוקים ירוקים עומדים על קיר
אם בקבוק ירוק אחד צריך ליפול בטעות
על הקיר היו 9 בקבוקים ירוקים
ניתן ליצור קובץ על פי ההנחיות הבאות:
-
פתח את הקובץ על ידי הקלדת הפקודה הבאה: nano file2
-
הקלד את הטקסט בעורך ה- nano
-
לחץ על CTRL ו- O כדי לשמור את הקובץ
-
לחץ על CTRL ו- X כדי לצאת מהקובץ
כיצד להשוות שני קבצים באמצעות לינוקס
הפקודה בשימוש בתוך לינוקס כדי להראות את ההבדלים בין 2 קבצים נקרא הפקודה diff.
הצורה הפשוטה ביותר של הפקודה diff היא כדלקמן:
diff file1 file2
אם הקבצים זהים אז לא יהיה פלט בעת שימוש בפקודה זו, עם זאת, כמו ישנם הבדלים תראה פלט דומה לזה:
2,4c2,3
<10 בקבוקים ירוקים עומדים על הקיר
אם בקבוק ירוק אחד צריך ליפול בטעות
על הקיר יהיו 9 בקבוקים ירוקים
…
> אם 1 בקבוק ירוק צריך ליפול בטעות
על הקיר יהיו 9 בקבוקים ירוקים
בתחילה, הפלט עשוי להיראות מבלבל אבל ברגע שאתה מבין את המינוח זה הגיוני למדי.
באמצעות העיניים שלך אתה יכול לראות כי ההבדלים בין 2 הקבצים הם כדלקמן:
- הקובץ השני יש רק שלוש שורות ואילו הקובץ הראשון יש 4.
- הקובץ השני אומר "1 בקבוק ירוק" על השורה השלישית ואילו הקובץ הראשון אומר "בקבוק ירוק אחד"
- הקובץ השני אומר "היה" במקום "היה שם" על הקו האחרון
הפלט מהפקודה diff מראה כי בין השורות 2 ו 4 של הקובץ הראשון ואת השורות 2 ו 3 של הקובץ השני יש הבדלים.
לאחר מכן הוא מציג את השורות מ 2 עד 4 מהקובץ הראשון ואחריו 2 שורות שונות בקובץ השני.
כיצד רק להראות אם הקבצים הם שונים
אם אתה רק רוצה לדעת אם הקבצים הם שונים ואתה לא מעוניין אילו קווים שונים אתה יכול להפעיל את הפקודה הבאה:
diff -q file1 file2
אם הקבצים שונים, יוצגו הפריטים הבאים:
קבצים file1 ו file2 שונים
אם הקבצים זהים אז שום דבר לא מוצג.
כיצד להציג הודעה אם הקבצים זהים
כאשר אתה מפעיל פקודה אתה רוצה לדעת שזה עבד כהלכה, אז אתה רוצה הודעה כדי להיות מוצג בעת הפעלת הפקודה diff ללא קשר אם הקבצים הם זהים או שונים
כדי להשיג דרישה זו באמצעות הפקודה diff, באפשרותך להשתמש בפקודה הבאה :.
diff -s file1 file2
עכשיו אם הקבצים הם אותו הדבר תקבל את ההודעה הבאה:
כיצד לייצר את ההבדלים זה לצד זה
אם יש הרבה הבדלים אז זה יכול מהר מאוד להיות מבלבל לגבי מה ההבדלים למעשה הם בין שני הקבצים.
ניתן לשנות את הפלט של הפקודה diff כך שהתוצאות מוצגות זו לצד זו. כדי לעשות זאת, הפעל את הפקודה הבאה:
קובץ
הפלט של הקובץ משתמש ב- | סמל כדי להראות הבדל בין שתי השורות, <כדי להציג שורה שהוסרה ו- <כדי להציג שורה שנוספה.
מעניין אם אתה מפעיל את הפקודה באמצעות קבצי ההפגנה שלנו אז כל השורות יראה שונה מלבד השורה האחרונה של קובץ 2 אשר יוצגו כמו נמחק.
הגבלת רוחב העמודות
בעת השוואת שני קבצים זה לצד זה זה יכול להיות קשה לקרוא אם הקבצים יש המון עמודות של טקסט.
כדי להגביל מספר עמודות השתמש בפקודה הבאה:
כיצד להתעלם במקרה הבדלים בעת השוואת קבצים
אם ברצונך להשוות בין שני קבצים, אבל לא אכפת לך אם המקרה של האותיות הוא זהה בין שני הקבצים, אז אתה יכול להשתמש בפקודה הבאה:
כיצד להתעלם שטח לבן נגרר בסוף קו
אם בעת השוואת הקבצים אתה מבחין המון הבדלים ואת ההבדלים נגרמות על ידי שטח לבן בסוף השורות אתה יכול להשמיט אלה מופיעים כמו שינויים על ידי הפעלת הפקודה הבאה:
כיצד להתעלם כל שטח לבן ההבדלים בין שני קבצים
אם אתה מעוניין רק את הטקסט בקובץ ואתה לא אכפת אם יש רווחים יותר אחד מהשני אתה יכול להשתמש בפקודה הבאה:
כיצד להתעלם קווים ריקים בעת השוואת שני קבצים
אם לא אכפת לך קובץ אחד יכול להיות שורות ריקות נוספים בו אז אתה יכול להשוות את הקבצים באמצעות הפקודה הבאה:
סיכום
אתה יכול למצוא מידע נוסף על ידי קריאת המדריך עבור הפקודה diff.
האיש הבדל
הפקודה diff ניתן להשתמש בצורה הפשוטה ביותר שלה רק להראות לך את ההבדלים בין 2 קבצים, אבל אתה יכול גם להשתמש בו כדי ליצור קובץ diff כחלק מאסטרטגיה תיקון כפי שמוצג במדריך זה לפקודת תיקון לינוקס.
פקודה אחרת שבה ניתן להשתמש כדי להשוות קבצים היא הפקודה cmp כפי שמוצג במדריך זה. זה משווה בתים בתים על ידי בתים.