הסר שורות כפולות מקובץ

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

במילים אחרות, למשל ... יש לנו את הקובץ הבא: לעבור.טקסט

ותוכנו הוא:

Asdasd
לולה
אהבה
Asdasd
חלונות
מנהל
לינוקס
Asdasd
אהבה

 כפי שאנו רואים, חזרנו על עצמנו «אהבה»WonderfulAsdasd«, האחרון 3 פעמים. כיצד להסיר שורות כפולות?

לעשות את זה פשוט עם הפקודה הזו:

cat pass.txt | sort | uniq > pass-listos.txt

זה ייצור קובץ שנקרא pass-ready.txt אשר יכיל:

מנהל
Asdasd
לינוקס
לולה
אהבה
חלונות

מה שהפקודה עושה הוא פשוט מאוד ...

  1. חתול pass.txt - »ציין את תוכן הקובץ.
  2. sort - »מיין את התוכן לפי אלפבית.
  3. uniq - »בטל שורות כפולות.
  4. > pass-ready.txt - »התוצאה של הפקודות הקודמות, הכניסו אותה לקובץ pass-ready.txt (שכפי שהוא לא קיים, הוא ייצור אותו)

זה כל כך פשוט ... פשוט גיליתי את הפקודה sort כן, זה טוב מאוד ... אבל יחד עם uniq, הם תכשיט של אמנות 😀

אני מקווה שעזרת.

לגבי

טפט: אם אתה רוצה להוריד את הטפט «אני אוהב #! / Bin / bash"הנה הקישור:

הורד טפט

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

27 תגובות, השאר את שלך

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   קרלוס דיג'ו

    אתה יכול גם להשתמש במיון -ו.

    מזל טוב על הבלוג, אני אוהב את זה!

    1.    KZKG ^ גאארה דיג'ו

      כן בטח.
      כלום, תודה רבה על תגובה 😀

      ברוך הבא 😉
      לגבי

  2.   דייגו דיג'ו

    הבעיה בכך היא שזה משנה את סדר המילים, זה עובד ... אבל בסופו של דבר התוצאה שונה בהרבה מהמקור בסדר (שאולי במקרה זה חשוב)

    1.    KZKG ^ גאארה דיג'ו

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

    2.    קרלוס דיג'ו

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

      חתול pass.txt | uniq> pass-ready.txt

      1.    אליובר דיג'ו

        זה לא עובד, ניסיתי את זה

      2.    שילינג דיג'ו

        לא עובד מכיוון ששורות "חוזרות" חייבות להיות רצופות

  3.   ללא שם דיג'ו

    תודה

    זה די שימושי

  4.   גיסקארד דיג'ו

    טוב מאוד! פיתרון פשוט וברור. אני אוהב דברים כאלה 🙂
    אני חייב להודות שהייתי עושה משהו בפייתון אבל הפיתרון הזה בסדר.

    1.    KZKG ^ גאארה דיג'ו

      תודה ^ - ^

  5.   טינו דיג'ו

    שלום! טוב מאוד!
    יש לי שאילתה בבקשה
    זה יעבוד בשבילי לדוגמא הבאה:
    ABCD 1111
    DEFG 2222 45455
    ABCD 1111
    DEFG 2222

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

    1.    KZKG ^ גאארה דיג'ו

      שלום כזה,
      כפי שראיתי, זה משווה בין שורות ולא עמודות, כך שבדוגמא שאתה נותן לי זה יסיר את השורה הראשונה או את השורה השלישית, השנייה והרביעית למרות שהם כמעט זהים, הם לא זהים ב 1% מכיוון שהם יש עמודת הבדל. 😉

      תודה על ההערה ^ - ^

      1.    טינו דיג'ו

        תודה לך !! לפני שלקח שעה לאורקל לחסל כפילויות ... עכשיו זה לוקח 30 שניות עם סוג החתול !!

  6.   מגה-ביידר דיג'ו

    אני דורש זאת ב- PHP: S

    1.    KZKG ^ גאארה דיג'ו

      Uff ... אני משתמש ב- PHP כי אני מאוד מאוד נמוך, אני לא ממש מתכנת

      אני מצטער.

    2.    ברונוקאסיו דיג'ו

      עבור php יש array_unique (...) בתיעוד הרשמי של PHP תוכלו למצוא פונקציות חשובות ויעילות רבות.

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

      ברכות!

  7.   חנון דיג'ו

    וואו !! מילון שישמש ככוח מוחלט !! XD

  8.   גוסטבו דיג'ו

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

    תודה

  9.   גוסטבו דיג'ו

    ההערה של קרלוס, למרות יהירותו, אינה תקפה. הוא אומר להשתמש:

    חתול pass.txt | uniq> pass-ready.txt

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

  10.   אליובר דיג'ו

    טוב מאוד, חסכת לי המון זמן בהפעלה שלי

  11.   אבני צור דיג'ו

    awk '! array_temp [$ 0] ++' pass.txt> pass-ready.txt
    עם זאת השורות מסולקות מבלי להזמין.

  12.   מינימיניו דיג'ו

    תודה רבה על התרומה!

    אמנם יהיה מגניב להיות מסוגל להפוך אותו לייחודי מבלי לשנות את הסדר, אבל היי, פקודה קלה ושימושית!

  13.   פליפה גוטיירז דיג'ו

    תודה, זה עזר לי מאוד 😉

  14.   ernesto דיג'ו

    יש לי את זה
    C 000006158880201502051056088364 C00-06158880
    C 000007601673201503051056088364 C00-07601673
    C 000008659304201504051056088364 C00-08659304
    T 0809074070562015120818144287185 REAÑO RUBIÑOS EMILIA DORIS
    T 0809092979972016010818144287185 REAÑO RUBIÑOS EMILIA DORIS
    C 000005398451201501231044214375 C00-05398451
    C 000007674996201503051000000286 C00-07674996
    C 000008514288201504051000000463 C00-08514288
    C 000011613498201506051056088070 C00-11613498

    איך אני מצליח לצייר רק את הכפילויות למנוי בקובץ ולהשאיר את אלה שאינם כפילויות באחר?

    המנוי נמצא בתפקיד 23 (10 תפקידים)

  15.   פרננדו דיג'ו

    מיין -u -k 1,1 File.txt> result.txt

    זה ממיין את הקובץ לפי השדה הראשון

  16.   אני דייגו דיג'ו

    2020 ועדיין מגישים, תודה רבה!

  17.   שרה דיג'ו

    B con co thể hướng dẫn cách loại bỏ các dòng trùng lặp của nhiều text text trong Linux או Windows được không? Cũng như trường hợp của bạn, khi tôi tạo file từ điển vì tôi chia nội dung ra nên Có khá nhiều file và chắc chắn con nhiều dòng trùng lặp giữa קובץ Các. Ví dụ: קובץ 1 của tôi co 5 dòng, file 2 co 15 dòng (co 2 dòng trùng lặp với File 1. Tôi muốn co kết quả, File 1 vẫn giữ nguyên 5 dòng, File 2 thì only bỏ 2 dòng giống file 1 .
    Như bạn biết co nhiều li do chúng ta ko thể gộp các file txt đó lại với nhau, vì những text file từ điển rất ư là nhiều ký, chẳng hạn như Rockyou. Thực tế tôi muốn thực hiện điều này bên Windows hơn, và chắc chắn ko thể gộp chúng ở bên Windows được. 🙂 Hy vọng nhận được phản hồi từ bạn!