סוגבמאמר האחרון שלנו, כיסינו מספר דוגמאות של פקודת ‘sort‘. אם פספסת את זה, אתה יכול להתעדכן על ידי המשך הקישור למטה. בפוסט הזה, נמשיך מהם עזבנו במאמר הקודם, כדי לכסות את הנושאים הנותרים של הפקודה. בכך, שני המאמרים ייחדו כמדריך מקיף לפקודת ה-‘sort‘ של Linux.
לפני שנמשיך הלאה, בבקשה צור קובץ טקסט בשם ‘month.txt‘ ומלא אותו בנתונים המסופקים למטה.
echo -e "mar\ndec\noct\nsep\nfeb\naug" > month.txt cat month.txt
15. מיון תוכן קובץ לפי חודש
הפקודה הבאה מייסרת את תוכן הקובץ "‘month.txt‘" לפי סדר כרונולוגי בהתאם לראשי החודש או שמם באמצעות האפשרות '-M'
המורה לפקודת ‘sort‘ לטפל בנתונים כתאריכים ולמיין אותם בהתאם.
sort -M month.txt
16. מיון פלט לפי גודל קובץ בפורמט שקראי לאדם
הפקודה הבאה משלבת את הפקודות ‘ls‘ ו-‘sort‘ כדי לבצע שתי משימות. ראשית, היא מציגה את תוכן ספריית הבית של המשתמש בפורמט ארוך ואז, היא מופנת את רשימת הקבצים בספריית זו לפקודת ‘sort‘ כדי להדפיס את גדלי הקבצים בפורמט שקראי לאדם, כך שייקל לזהות את הקבצים הגדולים והקטנים ביותר בספרייה.
ls -l /home/$USER | sort -h -k5
17. בדיקת קבצים ממויינים לקביעת עקביות
במאמר הקודם, יצרנו שני קבצי טקסט: 'sorted.txt' בדוגמה מספר 4 ו- 'lsl.txt' בדוגמה מספר 6. אנו מודעים ש- 'sorted.txt' כבר ממוין, בעוד ש- 'lsl.txt' אינו.
כדי לוודא את מצב המיון של שני הקבצים, נשתמש בפקודת 'sort', שתאפשר לנו לאמת האם 'sorted.txt' נשאר בסדר הנכון והאם נדרש מיון ל- 'lsl.txt'.
sort -c sorted.txt
אם זה מחזיר 0, זה אומר שהקובץ ממוין ואין סכסוך.
sort -c lsl.txt
18. טיפול בגבולות כאשר לא משתמשים ברווחים בקובץ
אם ה- גבול (מפריד) בין המילים הוא רווח, הפקודה 'sort' מפענחת באופן אוטומטי הכל מאחרי רווח אופקי כמילה חדשה. אבל מה קורה כאשר הגבול אינו רווח?
שקול קובץ טקסט, שבו תוכן מופרד על ידי כל דבר שאינו רווח כגון '|'
או '\'
או '+'
או '.'
או ...</code.
צור קובץ טקסט שבו התוכן מופרד באמצעות +
. השתמש בפקודת cat command כדי לבדוק את תוכן הקובץ.
echo -e "21+linux+server+production\n11+debian+RedHat+CentOS\n131+Apache+Mysql+PHP\n7+Shell Scripting+python+perl\n111+postfix+exim+sendmail" > delimiter.txt
$ cat delimiter.txt
כעת מיין את הקובץ הזה על פי השדה הראשון שהוא מספרי.
sort -t '+' -nk1 delimiter.txt
השני הוא על פי השדה הרביעי שהוא לא-מספרי.
אם התיק נמצא ב־טאב, ניתן להשתמש ב־$'\t'
במקום ב־'+'
, כפי שמוצג בדוגמה לעיל.
19. מיון אקראי של הפלט לפי גודל קובץ
מיין את הפלט של פקודת ls -l עבור ספריית הבית שלך לפי העמודה החמישית, שמייצגת את 'כמות הנתונים', בסדר אקראי.
ls -l /home/avi/ | sort -k5 -R
בכל פעם שאתה מריץ את קטע הסקריפט שלמעלה, סביר שתקבל תוצאה שונה מאחר והתוצאה נוצרת באופן אקראי.
כפי שברור מ־כלל מספר – 2 מהמאמר האחרון, פקודת sort מעדיפה שורות שמתחילות בתווים קטנים על פני תווים גדולים. כדאי גם לבדוק את דוגמה 3 במאמר האחרון, שבה מחרוזת 'laptop' מופיעה לפני המחרוזת 'LAPTOP'.
20. דריסת העדפות מיון ברירת מחדל
כיצד לדרוס את העדפת המיון ברירת המחדל? לפני שנוכול לדרוס את העדפת המיון ברירת המחדל, עלינו לייצא את משתנה הסביבה 'LC_ALL'
ל־'C'
.
כדי לעשות זאת, רוץ את הקוד הבא בשורת הפקודה שלך.
export LC_ALL=C
ואז למיין את קובץ הטקסט 'tecmint.txt' דורס את העדפת המיון הברירתית.
$ sort tecmint.txt
אל תשכח להשוות את הפלט לזה שקיבלת ב־דוגמה 3 וגם ניתן להשתמש באפשרות '-f' או '–ignore-case' כדי לקבל פלט מאורגן יותר.
$ sort -f tecmint.txt
21. שילוב שני קבצי קלט בפעולה אחת
מה דעתך על להריץ ‘sort‘ על שני קבצי קלט ולשרשר אותם במהלך אחד?
נבנה שני קבצי טקסט, בשמות ‘file1.txt‘ ו- ‘file2.txt‘, ונמלא אותם בנתונים. ב- ‘file1.txt‘ נוסיף מספרים כפי שמוצג למטה. נשתמש גם בפקודת cat כדי לבדוק את תוכן הקובץ
echo -e “5 Reliable\n2 Fast\n3 Secure\n1 open-source\n4 customizable” > file1.txt cat file1.txt
ונמלא את הקובץ השני ‘file2.txt‘ בנתונים.
echo -e “3 RedHat\n1 Debian\n5 Ubuntu\n2 Kali\n4 Fedora” > file2.txt cat file2.txt
עכשיו נמיין ונשרשר את תוצאת שני הקבצים.
join <(sort -n file1.txt) <(sort file2.txt)
מסקנה
בסיכום, מאמר זה חקר מגוון נושאים הקשורים לפקודת ‘sort‘ בלינוקס. התחלנו עם מיון בסדר אלפבתי בסיסי, סייענו לך להתמקם במיון מספרי ובמיון לפי תאריכים, וגם נגענו באופציות מותאמות אישית. למדנו גם איך לדרוס את העדפות המיון ברירת המחדל כדי להתאים אותן לצרכים שלנו.
בנוסף, דנו בטכניקות לבדיקת האם קובץ כבר ממויין ולשילוב פעולות ‘sort‘ עבור מספר קבצי קלט. עם הידע שנרכש כאן, יש לך כלי עוצמתי בידך למיון וארגון נתונים ביעילות בסביבת לינוקס.
אנו מקווים שהמאמר הזה היה מעמיק ושימושי למאמציך בשורת הפקודה. המשך לחקור, ללמוד, ולשלט באמנות של ‘sort‘ כדי לשפר את היכולות שלך בלינוקס.
Source:
https://www.tecmint.com/linux-sort-command-examples/