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

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תוכנה
  3. למה head | grep (בלינוקס) נותן תוצאות לא נכונות ?

למה head | grep (בלינוקס) נותן תוצאות לא נכונות ?

מתוזמן נעוץ נעול הועבר תוכנה
4 פוסטים 2 כותבים 198 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מ מנותק
    מ מנותק
    משחזר מידע
    כתב ב נערך לאחרונה על ידי משחזר מידע
    #1

    אני משתמש בפקודה הבאה

    head -1 * | grep -l -r "xyz" * > /path/to/file
    

    על מנת לקבל רשימה של כל הקבצים ש"מתחילים" בxyz
    בפועל אני מקבל בפלט גם רשימה של קבצים שאינם עונים על הדרישות בכלל
    (דוגמה: קיבלתי ברשימה קבצים שאין בהם בכלל xyz)

    אציין שניסיתי גם head -c אבל הוא לא עובד בכלל

    מה לא טוב בפקודה הנ"ל ?

    תגובה 1 תגובה אחרונה
    0
    • yossizY מנותק
      yossizY מנותק
      yossiz
      כתב ב נערך לאחרונה על ידי yossiz
      #2

      @משחזר-מידע
      מתוך man grep:

      FILE of “-” stands for standard input. If no FILE is given, recursive searches examine the working directory, and nonrecursive searches read standard input.

      מכיון שעשית recursive וגם נתת שם של קובץ - *, הפקודה מתעלמת מ-standard input (שזה מה שאתה מעביר לו דרך ה-|) ובמקום זה הוא רץ על כל הקובץ.

      הפתרון לכאורה להוריד את ה-‎-r שאין לו שום משמעות בהקשר של חיפוש על standard input, וגם תוריד את ה-*. ואז לכאורה זה יעבוד (אבל לא רקורסיבית. לזה צריך להריץ את פקודת ה-head בצורה ריקורסיבית)

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      תגובה 1 תגובה אחרונה
      3
      • מ מנותק
        מ מנותק
        משחזר מידע
        כתב ב נערך לאחרונה על ידי משחזר מידע
        #3

        @yossiz המעניין הוא שרוב המוחץ של הפלט כן היה נכון

        עריכה: קראתי שוב את תגובתך

        @yossiz אמר בלמה head | grep (בלינוקס) נותן תוצאות לא נכונות ?:

        ובמקום זה הוא רץ על כל הקובץ.

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

        yossizY תגובה 1 תגובה אחרונה
        0
        • yossizY מנותק
          yossizY מנותק
          yossiz
          השיב למשחזר מידע ב נערך לאחרונה על ידי
          #4

          @משחזר-מידע
          למה שאאמין לך? 🙂 יותר מסתבר שאתה טועה במשהו מאשר להניח ש-grep טועה.

          האם נסית לצמצם את הפקודה למינימום ההכרחי כדי להדגים את הבעיה? (הפקודה שלמעלה בכל מקרה לא תקין כנ"ל). נסה למצוא את הדוגמה המצומצמת ביותר שמדגים את הבעיה ותעלה קובץ עבור test case ונראה.

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          תגובה 1 תגובה אחרונה
          2

          בא תתחבר לדף היומי!
          • התחברות

          • אין לך חשבון עדיין? הרשמה

          • התחברו או הירשמו כדי לחפש.
          • פוסט ראשון
            פוסט אחרון
          0
          • דף הבית
          • קטגוריות
          • פוסטים אחרונים
          • משתמשים
          • חיפוש
          • חוקי הפורום