כיצד להשוות שני קבצי טקסט באמצעות לינוקס

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

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

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

יצירת קבצים להשוות

כדי לעקוב אחר מדריך זה, צור קובץ בשם "file1" והזן את הטקסט הבא:

10 בקבוקים ירוקים עומדים על קיר

10 בקבוקים ירוקים עומדים על קיר

אם בקבוק ירוק אחד צריך ליפול בטעות

על הקיר היו 9 בקבוקים ירוקים

ניתן ליצור קובץ על פי ההנחיות הבאות:

  1. פתח את הקובץ על ידי הקלדת הפקודה הבאה: nano file1
  2. הקלד את הטקסט בעורך ה- nano
  3. לחץ על CTRL ו- O כדי לשמור את הקובץ
  4. לחץ על CTRL ו- X כדי לצאת מהקובץ

עכשיו ליצור קובץ נוסף בשם "file2" והזן את הטקסט הבא:

10 בקבוקים ירוקים עומדים על קיר

אם בקבוק ירוק אחד צריך ליפול בטעות

על הקיר היו 9 בקבוקים ירוקים

ניתן ליצור קובץ על פי ההנחיות הבאות:

  1. פתח את הקובץ על ידי הקלדת הפקודה הבאה: nano file2
  2. הקלד את הטקסט בעורך ה- nano
  3. לחץ על CTRL ו- O כדי לשמור את הקובץ
  4. לחץ על CTRL ו- X כדי לצאת מהקובץ

כיצד להשוות שני קבצים באמצעות לינוקס

הפקודה בשימוש בתוך לינוקס כדי להראות את ההבדלים בין 2 קבצים נקרא הפקודה diff.

הצורה הפשוטה ביותר של הפקודה diff היא כדלקמן:

diff file1 file2

אם הקבצים זהים אז לא יהיה פלט בעת שימוש בפקודה זו, עם זאת, כמו ישנם הבדלים תראה פלט דומה לזה:

2,4c2,3

<10 בקבוקים ירוקים עומדים על הקיר

אם בקבוק ירוק אחד צריך ליפול בטעות

על הקיר יהיו 9 בקבוקים ירוקים

...

> אם 1 בקבוק ירוק צריך ליפול בטעות

על הקיר יהיו 9 בקבוקים ירוקים

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

באמצעות העיניים שלך אתה יכול לראות כי ההבדלים בין 2 הקבצים הם כדלקמן:

הפלט מהפקודה diff מראה כי בין השורות 2 ו 4 של הקובץ הראשון ואת השורות 2 ו 3 של הקובץ השני יש הבדלים.

לאחר מכן הוא מציג את השורות מ 2 עד 4 מהקובץ הראשון ואחריו 2 שורות שונות בקובץ השני.

כיצד רק להראות אם הקבצים הם שונים

אם אתה רק רוצה לדעת אם הקבצים הם שונים ואתה לא מעוניין אילו קווים שונים אתה יכול להפעיל את הפקודה הבאה:

diff -q file1 file2

אם הקבצים שונים, יוצגו הפריטים הבאים:

קבצים file1 ו file2 שונים

אם הקבצים זהים אז שום דבר לא מוצג.

כיצד להציג הודעה אם הקבצים זהים

כאשר אתה מפעיל פקודה אתה רוצה לדעת שזה עבד כהלכה, אז אתה רוצה הודעה כדי להיות מוצג בעת הפעלת הפקודה diff ללא קשר אם הקבצים הם זהים או שונים

כדי להשיג דרישה זו באמצעות הפקודה diff, באפשרותך להשתמש בפקודה הבאה :.

diff -s file1 file2

עכשיו אם הקבצים הם אותו הדבר תקבל את ההודעה הבאה:

הקבצים file1 ו- file2 זהים

כיצד לייצר את ההבדלים זה לצד זה

אם יש הרבה הבדלים אז זה יכול מהר מאוד להיות מבלבל לגבי מה ההבדלים למעשה הם בין שני הקבצים.

ניתן לשנות את הפלט של הפקודה diff כך שהתוצאות מוצגות זו לצד זו. כדי לעשות זאת, הפעל את הפקודה הבאה:

קובץ

הפלט של הקובץ משתמש ב- | סמל כדי להראות הבדל בין שתי השורות, <כדי להציג שורה שהוסרה ו- <כדי להציג שורה שנוספה.

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

הגבלת רוחב העמודות

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

כדי להגביל מספר עמודות השתמש בפקודה הבאה:

דיפ - width = 5 קובץ file2

כיצד להתעלם במקרה הבדלים בעת השוואת קבצים

אם ברצונך להשוות בין שני קבצים, אבל לא אכפת לך אם המקרה של האותיות הוא זהה בין שני הקבצים, אז אתה יכול להשתמש בפקודה הבאה:

diff -i file1 file2

כיצד להתעלם שטח לבן נגרר בסוף קו

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

diff -Z file1 file2

כיצד להתעלם כל שטח לבן ההבדלים בין שני קבצים

אם אתה מעוניין רק את הטקסט בקובץ ואתה לא אכפת אם יש רווחים יותר אחד מהשני אתה יכול להשתמש בפקודה הבאה:

diff -w file1 file2

כיצד להתעלם קווים ריקים בעת השוואת שני קבצים

אם לא אכפת לך קובץ אחד יכול להיות שורות ריקות נוספים בו אז אתה יכול להשוות את הקבצים באמצעות הפקודה הבאה:

diff -B file1 file2

סיכום

אתה יכול למצוא מידע נוסף על ידי קריאת המדריך עבור הפקודה diff.

האיש הבדל

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

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