לפעמים, סביר להניח שיש לך קבצי טקסט ארוכים מאוד שביניהם קשה למצוא דפוסים מסוימים או שורות או מילים משוכפלות, או אולי יש חבורה של קבצי טקסט קטנים שבהם אתה רוצה להתאים ביתר קלות, ואפילו להשתמש ב-pipe ולהתאים את הפלט של פקודה. גם כן, uniq היא הפקודה מה אתה מחפש את זה.
עם uniq אתה יכול לחפש מידע מיותר בצורה מאוד פשוטה. בנוסף, זה גם יאפשר לך להסיר את הכפילויות האלה אם אתה צריך. ובמדריך זה תראה כמה דוגמאות לפקודה שאולי תמצא בהן שימושיות. זכור שהוא מותקן כברירת מחדל ברוב המכריע של ההפצות, כך שלא תצטרך להתקין את החבילה...
ובכן, קודם כל, בואו נראה דוגמה כדי להבין את היסודות של הפקודה uniq ומה היא עושה ומה היא לא עושה. ל ejemplo, דמיינו שאתם יוצרים קובץ טקסט בשם test.txt, ובפנים אתה שם כמה ביטויים או מילים שחוזרות על עצמן, כמו חזרה על שלוש שורות «היי זה מבחן» ולאחר מכן השתמש ב-uniq איתו:
nano prueba.txt uniq prueba.txt
ובכן, במקרה כזה, הפלט של הפקודה יהיה פשוט:
Salida: Hola, esto es una prueba
כלומר, שים שורה אחת «היי זה מבחן» ביטול 2 האחרים זהים. אבל היזהר, אם תשתמש שוב ב-cat כדי לראות את המקור, תראה שהם לא הוסרו מהקובץ, זה פשוט הסיר אותם מהפלט:
cat prueba.txt
שהפלט שלו יהיה:
Hola, esto es una prueba Hola, esto es una prueba Hola, esto es una prueba
אבל לפקודת uniq יש הרבה יותר אפשרויות זמינות. לדוגמה, זה יכול להגיד לך מספר הפעמים ששורה חוזרת על עצמה, מציין בתחילת השורה את מספר החזרות. בשביל זה:
uniq -c prueba.txt
אתה יכול גם פשוט להדפיס שורות חוזרות, והתעלם מאלה שאינן חוזרות על עצמן:
uniq -d prueba.txt
או אלה שאינם משוכפלים עם האפשרות -u:
uniq -u prueba.txt
כדי להשתמש רגיש למקרה ותהיה רגיש לאותיות גדולות, אתה יכול להשתמש באפשרות -i:
uniq -i prueba.txt
אוקיי, ואיך אפשר לעשות את זה ליצור קובץ עם השורות הייחודיות בלבד, ביטול כל הכפילויות בבת אחת. ובכן, זה פשוט כמו שימוש בצינור כדי להעביר את הפלט של uniq לקובץ טקסט חדש:
uniq prueba.txt > unicas.txt