Grep הוא כלי לינוקס / Unix ייחודי וחזק מאוד המאפשר לך לחפש מחרוזת ספציפית בקובץ אחד או מרובים במערכת הפעלה של גנו / לינוקס. זוהי שורת הפקודה תוכנה אשר תוכנן מן הקרקע עד פלט רק את הקווים תואמים. פקודת Grep מורכבת מבחירה ומחיקה של rexxp, בקרת פלט, בקרת הקשר ואפשרויות שונות.
כדי להשתמש ב- Grep משורת הפקודה, יהיה עליך להקליד את & lsquo; grep --help & rsquo; הפקודה ב אמולטור מסוף או ישירות במסוף לינוקס, אשר תפיק את כל האפשרויות הזמינות, כמו גם דוגמאות שונות על אופן השימוש בכלי כדי למצוא דפוס מסוים לקובץ. דוגמת השימוש הסטנדרטית שניתנה על ידי הפקודה הנ"ל היא & ldquo; grep [OPTION] ... PATTERN [FILE] ... & rdquo;
אני רוצה לראות דוגמה!
הדוגמה הבסיסית ביותר היא & ldquo; grep -i 'שלום' menu.h main.c & rdquo ;, שבו & ldquo; -i & rdquo; הוא [OPTION] & ldquo; שלום בעולם & rdquo; הוא [PATTERN] ו- ldquo; menu.h & rdquo; & Ldquo; menu.c & rdquo; הם [FILE]. פקודה פשוטה זו משמשת לחיפוש & ldquo; hello world & rdquo; דפוס בכל אחד מהקבצים הנתונים. עם זאת, זכור כי [PATTERN] הוא, כברירת מחדל, ביטוי רגיל בסיסי (BRE).
שים לב כי בעת שימוש & ldquo; - & rdquo; סמל עבור מחרוזת [FILE] בדוגמה לעיל, Grep באופן אוטומטי לקרוא את הקלט הסטנדרטי. בנוסף, אם לא צוין [FILE] כלל, הוא יקרא את הספריה הנוכחית.
האם זה פועל על לינוקס שלי?
Grep נחשב על ידי מפתחי לינוקס ברחבי העולם כלי שירות חיוני של UNIX, כלומר, הוא מותקן כברירת מחדל כמעט בכל מערכות ההפעלה של גנו / לינוקס. אם מסיבה מוזרה כלשהי תיבת לינוקס שלך אין את כלי grep מותקן, תוכל בקלות להתקין אותו מתוך מאגרי תוכנה ברירת המחדל של ההפצה שלך. הן ארכיטקטורות 64 סיביות והן 32 סיביות נתמכות בשלב זה.
מה חדש במהדורה זו:
- שיפורים:
- הביצועים שופרו מאוד בחיפוש קבצים המכילים חורים, בפלטפורמות שבהן דגל SEEK_DATA של Lseek פועל ביעילות.
- הביצועים השתפרו עקב דחיית נתונים שאינם תואמים אפילו לחלק הראשון של תבנית לא טריאלית.
- הביצועים השתפרו עבור מחרוזות ארוכות מאוד בדפוסים.
- אם קובץ מכיל נתונים המקודדים באופן שגוי עבור האזור הנוכחי, והדבר מתגלה לפני שהתוכן של כל קובץ הוא פלט, grep מטפל כעת בקובץ כקובץ בינארי.
- grep -P אינו מדווח עוד על שגיאה ויוצא בעת קבלת נתונים UTF-8 לא חוקיים. במקום זאת, הוא סבור שהנתונים אינם תואמים.
- תיקוני באגים:
- grep לא עוד דפוסי mishandles המכילים w או w באזורים multibyte.
- grep נכשל בספירה של שורות חדשות באופן פנימי בעת ההפעלה באזורים שאינם multibyte שאינם UTF8, מה שמוביל אותו להדפסת שורות רבות שעשויות להיות לא תואמות. למשל, הפקודה, & quot; seq 10 Env LC_ALL = zh_CN src / grep -n .. & quot; הדפס את זה: 1: 1 2 3 4 5 6 7 8 9 10 רומז שהמשחק, & quot; 10 & quot; היה על הקו 1. [באג הציג ב grep-2.19]
- grep -F -x -o כבר לא מדפיס קו חדש נוסף עבור כל התאמה. [באג הציג ב- grep-2.19]
- grep באזור multibyte שאינו UTF8 יכול להתאים בטעות באמצע תו multibyte בעת שימוש ב- ^ ^ - מעוגן לסירוגין בתבנית, מה שמוביל אותו להדפסת שורות שאינן תואמות. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- grep-FY לא מצליח עוד להתאים לאזורים multibyte שאינם UTF8 כמו Shift-JIS, כאשר הקלט מכיל תו בן 2 בתים, XY, ואחריו דפוס החיפוש של בתים בודדים, Y. grep ימצא את הראשון , התאמת ביניים של multibyte & quot; Y & quot ;, ולאחר מכן בטעות לקדם מצביע פנימי אחד בתים רחוק מדי, דילוג על היעד & quot; Y & quot; רק אחרי זה. [באג הציג ב- grep-2.19]
- grep -E דחה ללא תחרות ')', במקום לטפל בו כמו '' '. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- ב- NetBSD, grep -r אינו מדווח עוד & quot; סוג קובץ לא תקין או פורמט & quot; כאשר מסרבים לעקוב אחר קישור סימבולי. [באג הציג ב- grep-2.12]
- שינויים בהתנהגות:
- המשתנה הסביבתי GREP_OPTIONS הוא כעת מתבגר, ו- grep מזהיר כעת אם הוא נמצא בשימוש. השתמש בשם כינוי או ב- script במקום זאת.
- ביישובים עם קידוד תווים multibyte שאינם UTF-8, grep -P מדווח כעת על שגיאה ויציאה במקום להתנהג בצורה לא נכונה.
- בעת חיפוש בנתונים בינאריים, grep יכול כעת לטפל בבתי טקסט שאינם מסתיימי שורות. זה יכול לשפר את הביצועים באופן משמעותי.
- grep -z אינו מטפל באופן אוטומטי בביט ' 200' כנתונים בינאריים.
מה חדש בגירסה 3.0:
- שיפורים:
- הביצועים שופרו מאוד בחיפוש קבצים המכילים חורים, בפלטפורמות שבהן דגל SEEK_DATA של Lseek פועל ביעילות.
- הביצועים השתפרו עקב דחיית נתונים שאינם תואמים אפילו לחלק הראשון של תבנית לא טריאלית.
- הביצועים השתפרו עבור מחרוזות ארוכות מאוד בדפוסים.
- אם קובץ מכיל נתונים המקודדים באופן שגוי עבור האזור הנוכחי, והדבר מתגלה לפני שהתוכן של כל קובץ הוא פלט, grep מטפל כעת בקובץ כקובץ בינארי.
- grep -P אינו מדווח עוד על שגיאה ויוצא בעת קבלת נתונים UTF-8 לא חוקיים. במקום זאת, הוא סבור שהנתונים אינם תואמים.
- תיקוני באגים:
- grep לא עוד דפוסי mishandles המכילים w או w באזורים multibyte.
- grep נכשל בספירה של שורות חדשות באופן פנימי בעת ההפעלה באזורים שאינם multibyte שאינם UTF8, מה שמוביל אותו להדפסת שורות רבות שעשויות להיות לא תואמות. למשל, הפקודה, & quot; seq 10 Env LC_ALL = zh_CN src / grep -n .. & quot; הדפס את זה: 1: 1 2 3 4 5 6 7 8 9 10 רומז שהמשחק, & quot; 10 & quot; היה על הקו 1. [באג הציג ב grep-2.19]
- grep -F -x -o כבר לא מדפיס קו חדש נוסף עבור כל התאמה. [באג הציג ב- grep-2.19]
- grep באזור multibyte שאינו UTF8 יכול להתאים בטעות באמצע תו multibyte בעת שימוש ב- ^ ^ - מעוגן לסירוגין בתבנית, מה שמוביל אותו להדפסת שורות שאינן תואמות. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- grep-FY לא מצליח עוד להתאים לאזורים multibyte שאינם UTF8 כמו Shift-JIS, כאשר הקלט מכיל תו בן 2 בתים, XY, ואחריו דפוס החיפוש של בתים בודדים, Y. grep ימצא את הראשון , התאמת ביניים של multibyte & quot; Y & quot ;, ולאחר מכן בטעות לקדם מצביע פנימי אחד בתים רחוק מדי, דילוג על היעד & quot; Y & quot; רק אחרי זה. [באג הציג ב- grep-2.19]
- grep -E דחה ללא תחרות ')', במקום לטפל בו כמו '' '. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- ב- NetBSD, grep -r אינו מדווח עוד & quot; סוג קובץ לא תקין או פורמט & quot; כאשר מסרבים לעקוב אחר קישור סימבולי. [באג הציג ב- grep-2.12]
- שינויים בהתנהגות:
- המשתנה הסביבתי GREP_OPTIONS הוא כעת מתבגר, ו- grep מזהיר כעת אם הוא נמצא בשימוש. השתמש בשם כינוי או ב- script במקום זאת.
- ביישובים עם קידוד תווים multibyte שאינם UTF-8, grep -P מדווח כעת על שגיאה ויציאה במקום להתנהג בצורה לא נכונה.
- בעת חיפוש בנתונים בינאריים, grep יכול כעת לטפל בבתי טקסט שאינם מסתיימי שורות. זה יכול לשפר את הביצועים באופן משמעותי.
- grep -z אינו מטפל באופן אוטומטי בביט ' 200' כנתונים בינאריים.
מה חדש בגירסה 2.28:
- שיפורים:
- הביצועים שופרו מאוד בחיפוש קבצים המכילים חורים, בפלטפורמות שבהן דגל SEEK_DATA של Lseek פועל ביעילות.
- הביצועים השתפרו עקב דחיית נתונים שאינם תואמים אפילו לחלק הראשון של תבנית לא טריאלית.
- הביצועים השתפרו עבור מחרוזות ארוכות מאוד בדפוסים.
- אם קובץ מכיל נתונים המקודדים באופן שגוי עבור האזור הנוכחי, והדבר מתגלה לפני שהתוכן של כל קובץ הוא פלט, grep מטפל כעת בקובץ כקובץ בינארי.
- grep -P אינו מדווח עוד על שגיאה ויוצא בעת קבלת נתונים UTF-8 לא חוקיים. במקום זאת, הוא סבור שהנתונים אינם תואמים.
- תיקוני באגים:
- grep לא עוד דפוסי mishandles המכילים w או w באזורים multibyte.
- grep נכשל בספירה של שורות חדשות באופן פנימי בעת ההפעלה באזורים שאינם multibyte שאינם UTF8, מה שמוביל אותו להדפסת שורות רבות שעשויות להיות לא תואמות. למשל, הפקודה, & quot; seq 10 Env LC_ALL = zh_CN src / grep -n .. & quot; הדפס את זה: 1: 1 2 3 4 5 6 7 8 9 10 רומז שהמשחק, & quot; 10 & quot; היה על הקו 1. [באג הציג ב grep-2.19]
- grep -F -x -o כבר לא מדפיס קו חדש נוסף עבור כל התאמה. [באג הציג ב- grep-2.19]
- grep באזור multibyte שאינו UTF8 יכול להתאים בטעות באמצע תו multibyte בעת שימוש ב- ^ ^ - מעוגן לסירוגין בתבנית, מה שמוביל אותו להדפסת שורות שאינן תואמות. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- grep-FY לא מצליח עוד להתאים לאזורים multibyte שאינם UTF8 כמו Shift-JIS, כאשר הקלט מכיל תו בן 2 בתים, XY, ואחריו דפוס החיפוש של בתים בודדים, Y. grep ימצא את הראשון , התאמת ביניים של multibyte & quot; Y & quot ;, ולאחר מכן בטעות לקדם מצביע פנימי אחד בתים רחוק מדי, דילוג על היעד & quot; Y & quot; רק אחרי זה. [באג הציג ב- grep-2.19]
- grep -E דחה ללא תחרות ')', במקום לטפל בו כמו '' '. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- ב- NetBSD, grep -r אינו מדווח עוד & quot; סוג קובץ לא תקין או פורמט & quot; כאשר מסרבים לעקוב אחר קישור סימבולי. [באג הציג ב- grep-2.12]
- שינויים בהתנהגות:
- המשתנה הסביבתי GREP_OPTIONS הוא כעת מתבגר, ו- grep מזהיר כעת אם הוא נמצא בשימוש. השתמש בשם כינוי או ב- script במקום זאת.
- ביישובים עם קידוד תווים multibyte שאינם UTF-8, grep -P מדווח כעת על שגיאה ויציאה במקום להתנהג בצורה לא נכונה.
- בעת חיפוש בנתונים בינאריים, grep יכול כעת לטפל בבתי טקסט שאינם מסתיימי שורות. זה יכול לשפר את הביצועים באופן משמעותי.
- grep -z אינו מטפל באופן אוטומטי בביט ' 200' כנתונים בינאריים.
מה חדש בגירסה 2.27:
- שיפורים:
- הביצועים שופרו מאוד בחיפוש קבצים המכילים חורים, בפלטפורמות שבהן דגל SEEK_DATA של Lseek פועל ביעילות.
- הביצועים השתפרו עקב דחיית נתונים שאינם תואמים אפילו לחלק הראשון של תבנית לא טריאלית.
- הביצועים השתפרו עבור מחרוזות ארוכות מאוד בדפוסים.
- אם קובץ מכיל נתונים המקודדים באופן שגוי עבור האזור הנוכחי, והדבר מתגלה לפני שהתוכן של כל קובץ הוא פלט, grep מטפל כעת בקובץ כקובץ בינארי.
- grep -P אינו מדווח עוד על שגיאה ויוצא בעת קבלת נתונים UTF-8 לא חוקיים. במקום זאת, הוא סבור שהנתונים אינם תואמים.
- תיקוני באגים:
- grep לא עוד דפוסי mishandles המכילים w או w באזורים multibyte.
- grep נכשל בספירה של שורות חדשות באופן פנימי בעת ההפעלה באזורים שאינם multibyte שאינם UTF8, מה שמוביל אותו להדפסת שורות רבות שעשויות להיות לא תואמות. למשל, הפקודה, & quot; seq 10 Env LC_ALL = zh_CN src / grep -n .. & quot; הדפס את זה: 1: 1 2 3 4 5 6 7 8 9 10 רומז שהמשחק, & quot; 10 & quot; היה על הקו 1. [באג הציג ב grep-2.19]
- grep -F -x -o כבר לא מדפיס קו חדש נוסף עבור כל התאמה. [באג הציג ב- grep-2.19]
- grep באזור multibyte שאינו UTF8 יכול להתאים בטעות באמצע תו multibyte בעת שימוש ב- ^ ^ - מעוגן לסירוגין בתבנית, מה שמוביל אותו להדפסת שורות שאינן תואמות. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- grep-FY לא מצליח עוד להתאים לאזורים multibyte שאינם UTF8 כמו Shift-JIS, כאשר הקלט מכיל תו בן 2 בתים, XY, ואחריו דפוס החיפוש של בתים בודדים, Y. grep ימצא את הראשון , התאמת ביניים של multibyte & quot; Y & quot ;, ולאחר מכן בטעות לקדם מצביע פנימי אחד בתים רחוק מדי, דילוג על היעד & quot; Y & quot; רק אחרי זה. [באג הציג ב- grep-2.19]
- grep -E דחה ללא תחרות ')', במקום לטפל בו כמו '' '. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- ב- NetBSD, grep -r אינו מדווח עוד & quot; סוג קובץ לא תקין או פורמט & quot; כאשר מסרבים לעקוב אחר קישור סימבולי. [באג הציג ב- grep-2.12]
- שינויים בהתנהגות:
- המשתנה הסביבתי GREP_OPTIONS הוא כעת מתבגר, ו- grep מזהיר כעת אם הוא נמצא בשימוש. השתמש בשם כינוי או ב- script במקום זאת.
- ביישובים עם קידוד תווים multibyte שאינם UTF-8, grep -P מדווח כעת על שגיאה ויציאה במקום להתנהג בצורה לא נכונה.
- בעת חיפוש בנתונים בינאריים, grep יכול כעת לטפל בבתי טקסט שאינם מסתיימי שורות. זה יכול לשפר את הביצועים באופן משמעותי.
- grep -z אינו מטפל באופן אוטומטי בביט ' 200' כנתונים בינאריים.
מה חדש בגירסה 2.26:
- שיפורים:
- הביצועים שופרו מאוד בחיפוש קבצים המכילים חורים, בפלטפורמות שבהן דגל SEEK_DATA של Lseek פועל ביעילות.
- הביצועים השתפרו עקב דחיית נתונים שאינם תואמים אפילו לחלק הראשון של תבנית לא טריאלית.
- הביצועים השתפרו עבור מחרוזות ארוכות מאוד בדפוסים.
- אם קובץ מכיל נתונים המקודדים באופן שגוי עבור האזור הנוכחי, והדבר מתגלה לפני שהתוכן של כל קובץ הוא פלט, grep מטפל כעת בקובץ כקובץ בינארי.
- grep -P אינו מדווח עוד על שגיאה ויוצא בעת קבלת נתונים UTF-8 לא חוקיים. במקום זאת, הוא סבור שהנתונים אינם תואמים.
- תיקוני באגים:
- grep לא עוד דפוסי mishandles המכילים w או w באזורים multibyte.
- grep נכשל בספירה של שורות חדשות באופן פנימי בעת ההפעלה באזורים שאינם multibyte שאינם UTF8, מה שמוביל אותו להדפסת שורות רבות שעשויות להיות לא תואמות. למשל, הפקודה, & quot; seq 10 Env LC_ALL = zh_CN src / grep -n .. & quot; הדפס את זה: 1: 1 2 3 4 5 6 7 8 9 10 רומז שהמשחק, & quot; 10 & quot; היה על הקו 1. [באג הציג ב grep-2.19]
- grep -F -x -o כבר לא מדפיס קו חדש נוסף עבור כל התאמה. [באג הציג ב- grep-2.19]
- grep באזור multibyte שאינו UTF8 יכול להתאים בטעות באמצע תו multibyte בעת שימוש ב- ^ ^ - מעוגן לסירוגין בתבנית, מה שמוביל אותו להדפסת שורות שאינן תואמות. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- grep-FY לא מצליח עוד להתאים לאזורים multibyte שאינם UTF8 כמו Shift-JIS, כאשר הקלט מכיל תו בן 2 בתים, XY, ואחריו דפוס החיפוש של בתים בודדים, Y. grep ימצא את הראשון , התאמת ביניים של multibyte & quot; Y & quot ;, ולאחר מכן בטעות לקדם מצביע פנימי אחד בתים רחוק מדי, דילוג על היעד & quot; Y & quot; רק אחרי זה. [באג הציג ב- grep-2.19]
- grep -E דחה ללא תחרות ')', במקום לטפל בו כמו '' '. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- ב- NetBSD, grep -r אינו מדווח עוד & quot; סוג קובץ לא תקין או פורמט & quot; כאשר מסרבים לעקוב אחר קישור סימבולי. [באג הציג ב- grep-2.12]
- שינויים בהתנהגות:
- המשתנה הסביבתי GREP_OPTIONS הוא כעת מתבגר, ו- grep מזהיר כעת אם הוא נמצא בשימוש. השתמש בשם כינוי או ב- script במקום זאת.
- ביישובים עם קידוד תווים multibyte שאינם UTF-8, grep -P מדווח כעת על שגיאה ויציאה במקום להתנהג בצורה לא נכונה.
- בעת חיפוש בנתונים בינאריים, grep יכול כעת לטפל בבתי טקסט שאינם מסתיימי שורות. זה יכול לשפר את הביצועים באופן משמעותי.
- grep -z אינו מטפל באופן אוטומטי בביט ' 200' כנתונים בינאריים.
מה חדש בגירסה 2.25:
- שיפורים:
- הביצועים שופרו מאוד בחיפוש קבצים המכילים חורים, בפלטפורמות שבהן דגל SEEK_DATA של Lseek פועל ביעילות.
- הביצועים השתפרו עקב דחיית נתונים שאינם תואמים אפילו לחלק הראשון של תבנית לא טריאלית.
- הביצועים השתפרו עבור מחרוזות ארוכות מאוד בדפוסים.
- אם קובץ מכיל נתונים המקודדים באופן שגוי עבור האזור הנוכחי, והדבר מתגלה לפני שהתוכן של כל קובץ הוא פלט, grep מטפל כעת בקובץ כקובץ בינארי.
- grep -P אינו מדווח עוד על שגיאה ויוצא בעת קבלת נתונים UTF-8 לא חוקיים. במקום זאת, הוא סבור שהנתונים אינם תואמים.
- תיקוני באגים:
- grep לא עוד דפוסי mishandles המכילים w או w באזורים multibyte.
- grep נכשל בספירה של שורות חדשות באופן פנימי בעת ההפעלה באזורים שאינם multibyte שאינם UTF8, מה שמוביל אותו להדפסת שורות רבות שעשויות להיות לא תואמות. למשל, הפקודה, & quot; seq 10 Env LC_ALL = zh_CN src / grep -n .. & quot; הדפס את זה: 1: 1 2 3 4 5 6 7 8 9 10 רומז שהמשחק, & quot; 10 & quot; היה על הקו 1. [באג הציג ב grep-2.19]
- grep -F -x -o כבר לא מדפיס קו חדש נוסף עבור כל התאמה. [באג הציג ב- grep-2.19]
- grep באזור multibyte שאינו UTF8 יכול להתאים בטעות באמצע תו multibyte בעת שימוש ב- ^ ^ - מעוגן לסירוגין בתבנית, מה שמוביל אותו להדפסת שורות שאינן תואמות. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- grep-FY לא מצליח עוד להתאים לאזורים multibyte שאינם UTF8 כמו Shift-JIS, כאשר הקלט מכיל תו בן 2 בתים, XY, ואחריו דפוס החיפוש של בתים בודדים, Y. grep ימצא את הראשון , התאמת ביניים של multibyte & quot; Y & quot ;, ולאחר מכן בטעות לקדם מצביע פנימי אחד בתים רחוק מדי, דילוג על היעד & quot; Y & quot; רק אחרי זה. [באג הציג ב- grep-2.19]
- grep -E דחה ללא תחרות ')', במקום לטפל בו כמו '' '. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- ב- NetBSD, grep -r אינו מדווח עוד & quot; סוג קובץ לא תקין או פורמט & quot; כאשר מסרבים לעקוב אחר קישור סימבולי. [באג הציג ב- grep-2.12]
- שינויים בהתנהגות:
- המשתנה הסביבתי GREP_OPTIONS הוא כעת מתבגר, ו- grep מזהיר כעת אם הוא נמצא בשימוש. השתמש בשם כינוי או ב- script במקום זאת.
- ביישובים עם קידוד תווים multibyte שאינם UTF-8, grep -P מדווח כעת על שגיאה ויציאה במקום להתנהג בצורה לא נכונה.
- בעת חיפוש בנתונים בינאריים, grep יכול כעת לטפל בבתי טקסט שאינם מסתיימי שורות. זה יכול לשפר את הביצועים באופן משמעותי.
- grep -z אינו מטפל באופן אוטומטי בביט ' 200' כנתונים בינאריים.
מה חדש בגירסה 2.24:
- שיפורים:
- הביצועים שופרו מאוד בחיפוש קבצים המכילים חורים, בפלטפורמות שבהן דגל SEEK_DATA של Lseek פועל ביעילות.
- הביצועים השתפרו עקב דחיית נתונים שאינם תואמים אפילו לחלק הראשון של תבנית לא טריאלית.
- הביצועים השתפרו עבור מחרוזות ארוכות מאוד בדפוסים.
- אם קובץ מכיל נתונים המקודדים באופן שגוי עבור האזור הנוכחי, והדבר מתגלה לפני שהתוכן של כל קובץ הוא פלט, grep מטפל כעת בקובץ כקובץ בינארי.
- grep -P אינו מדווח עוד על שגיאה ויוצא בעת קבלת נתונים UTF-8 לא חוקיים. במקום זאת, הוא סבור שהנתונים אינם תואמים.
- תיקוני באגים:
- grep לא עוד דפוסי mishandles המכילים w או w באזורים multibyte.
- grep נכשל בספירה של שורות חדשות באופן פנימי בעת ההפעלה באזורים שאינם multibyte שאינם UTF8, מה שמוביל אותו להדפסת שורות רבות שעשויות להיות לא תואמות. למשל, הפקודה, & quot; seq 10 Env LC_ALL = zh_CN src / grep -n .. & quot; הדפס את זה: 1: 1 2 3 4 5 6 7 8 9 10 רומז שהמשחק, & quot; 10 & quot; היה על הקו 1. [באג הציג ב grep-2.19]
- grep -F -x -o כבר לא מדפיס קו חדש נוסף עבור כל התאמה. [באג הציג ב- grep-2.19]
- grep באזור multibyte שאינו UTF8 יכול להתאים בטעות באמצע תו multibyte בעת שימוש ב- ^ ^ - מעוגן לסירוגין בתבנית, מה שמוביל אותו להדפסת שורות שאינן תואמות. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- grep-FY לא מצליח עוד להתאים לאזורים multibyte שאינם UTF8 כמו Shift-JIS, כאשר הקלט מכיל תו בן 2 בתים, XY, ואחריו דפוס החיפוש של בתים בודדים, Y. grep ימצא את הראשון , התאמת ביניים של multibyte & quot; Y & quot ;, ולאחר מכן בטעות לקדם מצביע פנימי אחד בתים רחוק מדי, דילוג על היעד & quot; Y & quot; רק אחרי זה. [באג הציג ב- grep-2.19]
- grep -E דחה ללא תחרות ')', במקום לטפל בו כמו '' '. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- ב- NetBSD, grep -r אינו מדווח עוד & quot; סוג קובץ לא תקין או פורמט & quot; כאשר מסרבים לעקוב אחר קישור סימבולי. [באג הציג ב- grep-2.12]
- שינויים בהתנהגות:
- המשתנה הסביבתי GREP_OPTIONS הוא כעת מתבגר, ו- grep מזהיר כעת אם הוא נמצא בשימוש. השתמש בשם כינוי או ב- script במקום זאת.
- ביישובים עם קידוד תווים multibyte שאינם UTF-8, grep -P מדווח כעת על שגיאה ויציאה במקום להתנהג בצורה לא נכונה.
- בעת חיפוש בנתונים בינאריים, grep יכול כעת לטפל בבתי טקסט שאינם מסתיימי שורות. זה יכול לשפר את הביצועים באופן משמעותי.
- grep -z אינו מטפל באופן אוטומטי בביט ' 200' כנתונים בינאריים.
מה חדש בגירסה 2.23:
- שיפורים:
- הביצועים שופרו מאוד בחיפוש קבצים המכילים חורים, בפלטפורמות שבהן דגל SEEK_DATA של Lseek פועל ביעילות.
- הביצועים השתפרו עקב דחיית נתונים שאינם תואמים אפילו לחלק הראשון של תבנית לא טריאלית.
- הביצועים השתפרו עבור מחרוזות ארוכות מאוד בדפוסים.
- אם קובץ מכיל נתונים המקודדים באופן שגוי עבור האזור הנוכחי, והדבר מתגלה לפני שהתוכן של כל קובץ הוא פלט, grep מטפל כעת בקובץ כקובץ בינארי.
- grep -P אינו מדווח עוד על שגיאה ויוצא בעת קבלת נתונים UTF-8 לא חוקיים. במקום זאת, הוא סבור שהנתונים אינם תואמים.
- תיקוני באגים:
- grep לא עוד דפוסי mishandles המכילים w או w באזורים multibyte.
- grep נכשל בספירה של שורות חדשות באופן פנימי בעת ההפעלה באזורים שאינם multibyte שאינם UTF8, מה שמוביל אותו להדפסת שורות רבות שעשויות להיות לא תואמות. למשל, הפקודה, & quot; seq 10 Env LC_ALL = zh_CN src / grep -n .. & quot; הדפס את זה: 1: 1 2 3 4 5 6 7 8 9 10 רומז שהמשחק, & quot; 10 & quot; היה על הקו 1. [באג הציג ב grep-2.19]
- grep -F -x -o כבר לא מדפיס קו חדש נוסף עבור כל התאמה. [באג הציג ב- grep-2.19]
- grep באזור multibyte שאינו UTF8 יכול להתאים בטעות באמצע תו multibyte בעת שימוש ב- ^ ^ - מעוגן לסירוגין בתבנית, מה שמוביל אותו להדפסת שורות שאינן תואמות. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- grep-FY לא מצליח עוד להתאים לאזורים multibyte שאינם UTF8 כמו Shift-JIS, כאשר הקלט מכיל תו בן 2 בתים, XY, ואחריו דפוס החיפוש של בתים בודדים, Y. grep ימצא את הראשון , התאמת ביניים של multibyte & quot; Y & quot ;, ולאחר מכן בטעות לקדם מצביע פנימי אחד בתים רחוק מדי, דילוג על היעד & quot; Y & quot; רק אחרי זה. [באג הציג ב- grep-2.19]
- grep -E דחה ללא תחרות ')', במקום לטפל בו כמו '' '. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- ב- NetBSD, grep -r אינו מדווח עוד & quot; סוג קובץ לא תקין או פורמט & quot; כאשר מסרבים לעקוב אחר קישור סימבולי. [באג הציג ב- grep-2.12]
- שינויים בהתנהגות:
- המשתנה הסביבתי GREP_OPTIONS הוא כעת מתבגר, ו- grep מזהיר כעת אם הוא נמצא בשימוש. השתמש בשם כינוי או ב- script במקום זאת.
- ביישובים עם קידוד תווים multibyte שאינם UTF-8, grep -P מדווח כעת על שגיאה ויציאה במקום להתנהג בצורה לא נכונה.
- בעת חיפוש בנתונים בינאריים, grep יכול כעת לטפל בבתי טקסט שאינם מסתיימי שורות. זה יכול לשפר את הביצועים באופן משמעותי.
- grep -z אינו מטפל באופן אוטומטי בביט ' 200' כנתונים בינאריים.
מה חדש בגירסה 2.22:
- שיפורים:
- הביצועים שופרו מאוד בחיפוש קבצים המכילים חורים, בפלטפורמות שבהן דגל SEEK_DATA של Lseek פועל ביעילות.
- הביצועים השתפרו עקב דחיית נתונים שאינם תואמים אפילו לחלק הראשון של תבנית לא טריאלית.
- הביצועים השתפרו עבור מחרוזות ארוכות מאוד בדפוסים.
- אם קובץ מכיל נתונים המקודדים באופן שגוי עבור האזור הנוכחי, והדבר מתגלה לפני שהתוכן של כל קובץ הוא פלט, grep מטפל כעת בקובץ כקובץ בינארי.
- grep -P אינו מדווח עוד על שגיאה ויוצא בעת קבלת נתונים UTF-8 לא חוקיים. במקום זאת, הוא סבור שהנתונים אינם תואמים.
- תיקוני באגים:
- grep לא עוד דפוסי mishandles המכילים w או w באזורים multibyte.
- grep נכשל בספירה של שורות חדשות באופן פנימי בעת ההפעלה באזורים שאינם multibyte שאינם UTF8, מה שמוביל אותו להדפסת שורות רבות שעשויות להיות לא תואמות. למשל, הפקודה, & quot; seq 10 Env LC_ALL = zh_CN src / grep -n .. & quot; הדפס את זה: 1: 1 2 3 4 5 6 7 8 9 10 רומז שהמשחק, & quot; 10 & quot; היה על הקו 1. [באג הציג ב grep-2.19]
- grep -F -x -o כבר לא מדפיס קו חדש נוסף עבור כל התאמה. [באג הציג ב- grep-2.19]
- grep באזור multibyte שאינו UTF8 יכול להתאים בטעות באמצע תו multibyte בעת שימוש ב- ^ ^ - מעוגן לסירוגין בתבנית, מה שמוביל אותו להדפסת שורות שאינן תואמות. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- grep-FY לא מצליח עוד להתאים לאזורים multibyte שאינם UTF8 כמו Shift-JIS, כאשר הקלט מכיל תו בן 2 בתים, XY, ואחריו דפוס החיפוש של בתים בודדים, Y. grep ימצא את הראשון , התאמת ביניים של multibyte & quot; Y & quot ;, ולאחר מכן בטעות לקדם מצביע פנימי אחד בתים רחוק מדי, דילוג על היעד & quot; Y & quot; רק אחרי זה. [באג הציג ב- grep-2.19]
- grep -E דחה ללא תחרות ')', במקום לטפל בו כמו '' '. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- ב- NetBSD, grep -r אינו מדווח עוד & quot; סוג קובץ לא תקין או פורמט & quot; כאשר מסרבים לעקוב אחר קישור סימבולי. [באג הציג ב- grep-2.12]
- שינויים בהתנהגות:
- המשתנה הסביבתי GREP_OPTIONS הוא כעת מתבגר, ו- grep מזהיר כעת אם הוא נמצא בשימוש. השתמש בשם כינוי או ב- script במקום זאת.
- ביישובים עם קידוד תווים multibyte שאינם UTF-8, grep -P מדווח כעת על שגיאה ויציאה במקום להתנהג בצורה לא נכונה.
- בעת חיפוש בנתונים בינאריים, grep יכול כעת לטפל בבתי טקסט שאינם מסתיימי שורות. זה יכול לשפר את הביצועים באופן משמעותי.
- grep -z אינו מטפל באופן אוטומטי בביט ' 200' כנתונים בינאריים.
מה חדש בגירסה 2.21:
- שיפורים:
- הביצועים שופרו מאוד בחיפוש קבצים המכילים חורים, בפלטפורמות שבהן דגל SEEK_DATA של Lseek פועל ביעילות.
- הביצועים השתפרו עקב דחיית נתונים שאינם תואמים אפילו לחלק הראשון של תבנית לא טריאלית.
- הביצועים השתפרו עבור מחרוזות ארוכות מאוד בדפוסים.
- אם קובץ מכיל נתונים המקודדים באופן שגוי עבור האזור הנוכחי, והדבר מתגלה לפני שהתוכן של כל קובץ הוא פלט, grep מטפל כעת בקובץ כקובץ בינארי.
- grep -P אינו מדווח עוד על שגיאה ויוצא בעת קבלת נתונים UTF-8 לא חוקיים. במקום זאת, הוא סבור שהנתונים אינם תואמים.
- תיקוני באגים:
- grep לא עוד דפוסי mishandles המכילים w או w באזורים multibyte.
- grep נכשל בספירה של שורות חדשות באופן פנימי בעת ההפעלה באזורים שאינם multibyte שאינם UTF8, מה שמוביל אותו להדפסת שורות רבות שעשויות להיות לא תואמות. למשל, הפקודה, & quot; seq 10 Env LC_ALL = zh_CN src / grep -n .. & quot; הדפס את זה: 1: 1 2 3 4 5 6 7 8 9 10 רומז שהמשחק, & quot; 10 & quot; היה על הקו 1. [באג הציג ב grep-2.19]
- grep -F -x -o כבר לא מדפיס קו חדש נוסף עבור כל התאמה. [באג הציג ב- grep-2.19]
- grep באזור multibyte שאינו UTF8 יכול להתאים בטעות באמצע תו multibyte בעת שימוש ב- ^ ^ - מעוגן לסירוגין בתבנית, מה שמוביל אותו להדפסת שורות שאינן תואמות. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- grep-FY לא מצליח עוד להתאים לאזורים multibyte שאינם UTF8 כמו Shift-JIS, כאשר הקלט מכיל תו בן 2 בתים, XY, ואחריו דפוס החיפוש של בתים בודדים, Y. grep ימצא את הראשון , התאמת ביניים של multibyte & quot; Y & quot ;, ולאחר מכן בטעות לקדם מצביע פנימי אחד בתים רחוק מדי, דילוג על היעד & quot; Y & quot; רק אחרי זה. [באג הציג ב- grep-2.19]
- grep -E דחה ללא תחרות ')', במקום לטפל בו כמו '' '. [באגים נוכחים מאז & quot; ההתחלה & quot;]
- ב- NetBSD, grep -r אינו מדווח עוד & quot; סוג קובץ לא תקין או פורמט & quot; כאשר מסרבים לעקוב אחר קישור סימבולי. [באג הציג ב- grep-2.12]
- שינויים בהתנהגות:
- המשתנה הסביבתי GREP_OPTIONS הוא כעת מתבגר, ו- grep מזהיר כעת אם הוא נמצא בשימוש. השתמש בשם כינוי או ב- script במקום זאת.
- ביישובים עם קידוד תווים multibyte שאינם UTF-8, grep -P מדווח כעת על שגיאה ויציאה במקום להתנהג בצורה לא נכונה.
- בעת חיפוש נתונים בינאריים, grep יכול כעת לטפל בבתי טקסט שאינם מסתיימי שורות. זה יכול לשפר את הביצועים באופן משמעותי.
- grep -z אינו מטפל באופן אוטומטי בביט ' 200' כנתונים בינאריים.
מה חדש בגירסה 2.20:
- תיקוני באגים:
- grep --max-count = N FILE לא יפסיק לקרוא אחרי ההתאמה NTH. כלומר, בעוד grep עדיין להדפיס את הפלט הנכון, זה ימשיך לקרוא עד סוף הקלט, ולכן, פוטנציאל לנצח. [באג הציג ב- grep-2.19]
- פקודה כמו הד aa | grep -E a (b $ | c $) 'תציג בטעות את הקלט כקו תואם. [באג הציג ב- grep-2.19]
- שינויים בהתנהגות:
- grep --exclude-dir = 'FOO /' כעת לא כולל את הספרייה FOO. קודם לכן, סלאש נגרר פירושו אופציה לא היה יעיל.
תגובות לא נמצא