ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
אורח · ·
 

הודעה פורסם: 05/04/2012 - 09:28
נושא ההודעה: clean duplicate lines from txt file

אני מחפש כלי סקריפט או פקודה שיעזרו לי לנקות שורות כפולות שמנצאות בקובץ טקסט.עד עכשיו נסיתי עם awk ועם הפקודה sort.אבל לא הצלחתי ליצא קובץ נטול שורות כפולות.

חשוב לציין הקובץ בנוי שורה שורה

מילה1
מילה1
מילה2
מילה3

אני רוצה ליצא אותו כך:
מילה1
מילה2
מילה3

הקובץ שוקל כ3gb ומכיל כ 313846988 שורות.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 05/04/2012 - 09:53
נושא ההודעה:

מה רע ב:
קוד:
sort -u file > file.uniq


ינון
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 05/04/2012 - 09:57
נושא ההודעה:

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

אני רואה שהוא יוצר קובץ חדש הקטע שהוא נשאר על 0 bytes ואין לי מושג אם זה באמת עושה משהו.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
orgadsלא בפורום כעת ת.הצטרפות: 11/10/2005 · הודעות: 436 ·
 

הודעה פורסם: 05/04/2012 - 10:37
נושא ההודעה:

קוד:
sort file | uniq > file.uniq


זה ממש לא אמור להשתמש הרבה במעבד. זו פעולה שהיא כמעט כולה קלט\פלט.

אם הקובץ כבר ממוין, פשוט תריץ:
קוד:
uniq file > file.uniq
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 05/04/2012 - 11:09
נושא ההודעה:

אוקי זה עובד פשוט לוקח לזה זמן =] תודה.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
פינגווין אדוםאורח · ·
 

הודעה פורסם: 05/04/2012 - 13:07
נושא ההודעה:

מיון זה איטי, הנה דרך מהירה הרבה יותר
קוד:

perl -ne 'print unless $old eq $_; $old = $_' <myfile>


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

perl -ne 'print unless $old eq $_; $old = $_' -i <myfile>
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 05/04/2012 - 13:26
נושא ההודעה:

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

אם כבר פרל הייתי הולך על משהו כמו:

קוד:
perl -pe '$u{$_}=1}{print keys %u' filename



שיעשה עבודה טובה על קלט לא ממוין וגם יהיה מהיר יותר מ sort

ינון
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. אורח
  2. אורח
  3. אורח
  4. orgads
  5. אורח
  6. אורח [פינגווין אדום]
  7. אורח