מאל יוזערז זענען פייסט מיט די נויט צו זוכן פֿאַר זיכער אינפֿאָרמאַציע אין קיין טעקעס. אָפט קאַנפיגיעריישאַן דאָקומענטן אָדער אנדערע וואַלומאַנאַס דאַטע כּולל אַ גרויס נומער פון שורות, אַזוי עס איז ניט מעגלעך צו מאַניואַלי געפֿינען די נייטיק דאַטן. דערנאָך איינער פון די געבויט-אין קאַמאַנדז אין לינוקס אָפּערייטינג סיסטעמען קומט צו די ראַטעווען, וואָס וועט לאָזן איר געפֿינען שורות ממש אין אַ ביסל סעקונדעס.
ניצן גרעפּ באַפֿעל אויף לינוקס
וואָס שייך די דיפעראַנסיז צווישן לינוקס דיסטראַביושאַנז, זיי טאָן ניט שפּילן קיין ראָלע אין דעם פאַל, זינט די מאַנשאַפֿט איר זענט אינטערעסירט grep דורך פעליקייַט, עס איז בנימצא אין רובֿ אַסעמבליז און איז געווענדט פּונקט דער זעלביקער. הייַנט מיר וואָלט ווי צו דיסקוטירן ניט בלויז קאַמף grep, אָבער אויך צו אַנאַלייז די הויפּט אַרגומענטן וואָס קענען זייער פאַרפּאָשעטערן די זוכן פּראָצעס.
זען אויך: איר זוכט פֿאַר טעקעס אין לינוקס
פּרעפּאַראַטאָרי אַרבעט
אַלע ווייַטער אַקשאַנז וועט זיין דורכגעקאָכט דורך די סטאַנדאַרט קאַנסאָול, עס אויך אַלאַוז איר צו עפענען טעקעס בלויז דורך ספּעסיפיינג די פול דרך צו זיי, אָדער אויב "טערמינאל" לאָנטשט פֿון די נייטיק וועגווייַזער. איר קענען געפֿינען די פאָטער טעקע פון אַ טעקע און נאַוויגירן צו עס אין די קאַנסאָול ווי דאָס:
- ראַן די טעקע פאַרוואַלטער און נאַוויגירן צו דער געוואלט טעקע.
- רעכט גיט אויף די געבעטן טעקע און סעלעקטירן "פּראָפּערטיעס".
- אין די קוויטל "באַסיק" לייענען די שורה "עלטערן טעקע".
- איצט לויפן "טערמינאל" באַקוועם אופֿן, למשל דורך די מעניו אָדער דורך דרינגלעך די שליסל קאָמבינאַציע קטרל + אַלט + ה.
- דאָ, גיין צו די וועגווייַזער דורך די באַפֿעל
קאָמפּאַקטדיסק / היים / באַניצער / טעקע
ווו באַניצער - נאמען, און טעקע - נאָמען פון דער טעקע.
דינגען די מאַנשאַפֿטקאַץ + טעקע נאָמען
אויב איר ווילן צו זען די פול אינהאַלט. פֿאַר דיטיילד ינסטראַקשאַנז וועגן ארבעטן מיט דעם קאָלעקטיוו, זען אונדזער אנדערע אַרטיקל אין די לינק ונטער.
לייענען מער: יגזאַמפּאַלז פון קאַט קאַמאַנדז אויף לינוקס
דורך טאן די אויבן, איר קענען נוצן grep, זייַענדיק אין די נייטיק וועגווייַזער, אָן ספּעציפיצירן די פול דרך צו דער טעקע.
סטאַנדאַרד אינהאַלט זוך
איידער איר גיין צו באַטראַכטן אַלע די פאַראַנען אַרגומענטן, עס איז וויכטיק צו טאָן אַ רעגולער זוכן אין דעם אינהאַלט. עס וועט זיין נוציק אין יענע מאָומאַנץ ווען איר דאַרפֿן צו געפֿינען אַ פּשוט גלייַכן דורך ווערט און אַרויסווייַזן אַלע די באַטייַטיק שורות אויף דעם עקראַן.
- אַרייַן די באַפֿעל פּינטלעך
grep וואָרט טעסטילע
ווו וואָרט - אינפֿאָרמאַציע געזוכט, און testfile - טעקע נאָמען. ספּעציפיצירן די פול דרך ווי אַ בייַשפּיל ווען איר זוכט אַרויס די טעקע/ היים / באַניצער / טעקע / פילענאַמע
. דריקן אַרייַן די באַפֿעל נאָך אַרייַן די באַפֿעל אַרייַן. - עס בלייבט בלויז צו באקענען זיך מיט די בנימצא אָפּציעס. גאַנץ שורות וועט זיין געוויזן אויף דעם עקראַן און שליסל וואַלועס וועט זיין כיילייטיד אין רויט.
- עס איז וויכטיק צו זיין פאַל-שפּירעוודיק, ווייַל לינוקס קאָדירונג איז נישט אָפּטימיזעד פֿאַר אָנפֿרעגן אָן גרויס אָדער קליין אותיות. אויב איר ווילן צו בייפּאַס די דעפֿיניציע פון אַ רעגיסטרירן, אַרייַן
grep-איך "וואָרט" טעסטפילע
. - ווי איר קענען זען, אין דער ווייַטער סקרעענשאָט, דער רעזולטאַט איז פארענדערט און נאָך אַ נייַע שורה איז צוגעגעבן.
סטרינג קאַפּטורע זוכן
מאל יוזערז דאַרפֿן צו געפֿינען ניט בלויז די פּינטלעך גלייַכן אויף די שורות, אָבער אויך צו געפֿינען די אינפֿאָרמאַציע וואָס קומט נאָך זיי, למשל, ווען ריפּאָרטינג אַ ספּעציפיש טעות. דערנאָך די רעכט באַשלוס וואָלט זיין צו צולייגן אַטריביוץ. טיפּ אין די קאַנסאָולgrep -A3 "וואָרט" טעסטפילע
צו אַרייַננעמען אין דער רעזולטאַט און די ווייַטער דריי שורות נאָך די גלייַכן. איר קענט שרייבן-A4
און פיר שורות זענען קאַפּטשערד, עס זענען קיין ריסטריקשאַנז.
אויב אַנשטאָט-A
איר צולייגן דעם אַרגומענט-ב + רודערן ציילן
דערנאָך, די דאַטן ליגן איידער די פּאָזיציע פונט זענען געוויזן.
אַרגומענט-C
, קאַפּטשערז די שורות אַרום די קיווערד.
ונטער איר קענען זען ביישפילן פון אַסיינמאַנט פון די ספּעסאַפייד אַרגומענטן. ביטע טאָן אַז איר מוזן זיין פאַל-שפּירעוודיק און נוצן טאָפּל ציטאַט מאַרקס.
grep -B3 "וואָרט" טעסטפילע
grep -C3 "וואָרט" טעסטפילע
זוכן פֿאַר טערמינען אין די אָנהייב און סוף פון די שורות
די נויט צו דעפינירן אַ קיווערד אין די אָנהייב אָדער אין די סוף פון אַ שורה, אָפט ערייזאַז ווען איר אַרבעט מיט קאַנפיגיעריישאַן טעקעס, אין וואָס יעדער שורה איז פאַראַנטוואָרטלעך פֿאַר איין פּאַראַמעטער. צו זען די פּינטלעך פּאָזיציע אין די אָנהייב, עס איז נייטיק צו פאַרשרייַבןgrep "^ וואָרט" טעסטפילע
. צייכן ^ פּונקט פאַראַנטוואָרטלעך פֿאַר די נוצן פון דעם אָפּציע.
דער זוכן פֿאַר אינהאַלט אין די סוף פון די שורות גייט בעערעך דער זעלביקער פּרינציפּ, בלויז אין ציטאַט מאַרקס איר זאָל לייגן אַ כאַראַקטער $, און דער באַפֿעל וועט קוק ווי דאָס:גרעב "וואָרט $" טעסטפילע
.
נומער זוכן
ווען איר זוכט פֿאַר די געוואלט וואַלועס, דער באַניצער קען נישט שטענדיק האָבן אינפֿאָרמאַציע וועגן די פּינטלעך וואָרט פאָרשטעלן אין די שורה. דערנאָך די זוכן פּראָצעדור קענען זיין געטאן דורך נומערן, וואָס יז זייער סימפּלאַפייז די אַרבעט אָפט. עס איז בלויז נייטיק צו נוצן די מאַנשאַפֿט אין קשיאgrep "[0-7]" טעסטפילע
ווו «[0-7]» - וואַלועס קייט, און testfile - די נאָמען פון דער טעקע צו יבערקוקן.
אַנאַליסיס פון אַלע וועגווייַזער טעקעס
סקאַנינג אַלע אַבדזשעקץ ליגן אין איין טעקע איז גערופֿן רעקורסיווע. דער באַניצער דאַרף צולייגן בלויז איין אַרגומענט וואָס אַנאַלייז אַלע די טעקעס אין דער טעקע און דיספּלייז די צונעמען שורות און זייער אָרט. דאַרפֿן צו אַרייַןgrep -r "וואָרט" / היים / באַניצער / טעקע
ווו / היים / באַניצער / טעקע - דרך צו די וועגווייַזער פֿאַר סקאַנינג.
דער אָרט סטאָרידזש אָרט וועט זיין געוויזן אין בלוי, און אויב איר ווילן צו באַקומען שורות אָן דעם אינפֿאָרמאַציע, באַשטימען אן אנדער אַרגומענט אַזוי אַז די באַפֿעל טורנס אויס ווי דאָסgrep -h -r "וואָרט" + טעקע דרך
.
פּינטלעך וואָרט זוכן
אין די אָנהייב פון דעם אַרטיקל, מיר שוין גערעדט וועגן די געוויינטלעך וואָרט זוכן. מיט דעם אופֿן, נאָך קאַמבאַניישאַנז וועט זיין געוויזן אין די רעזולטאַטן. צום ביישפּיל, איר געפֿינען דעם וואָרט באַניצעראָבער דער באַפֿעל וועט אויך ווייַזן באַניצער123, שפּריכוואָרטבאַניצער און אנדערע שוועבעלעך, אויב קיין. צו ויסמיידן דעם רעזולטאַט, באַשטימען דעם אַרגומענט-w
(grep -w "וואָרט" + טעקע נאָמען אָדער אָרט
).
דער אָפּציע איז אויך דורכגעקאָכט אויב עס איז נייטיק צו זוכן עטלעכע פּינטלעך טערמינען אין אַמאָל. אין דעם פאַל, אַרייַןegrep -w 'word1 | word2' טעסטילע
. ביטע טאָן אַז אין דעם פאַל grep בריוו איז צוגעגעבן e, און די ציטאַט מאַרקס זענען איין.
זוכן פֿאַר סטרינגס אָן אַ ספּעציפיש וואָרט
דער קשיא קען נישט בלויז געפֿינען ווערטער אין טעקעס, אָבער אויך אַרויסווייַזן שורות וואָס טאָן ניט האָבן אַ באַניצער דיפיינד ווערט. דערנאָך איידער אַרייַן די שליסל ווערט און דער טעקע איז צוגעגעבן-v
. דאַנקען איר, ווען איר אַקטאַווייט אַ באַפֿעל, איר וועט זען בלויז די באַטייַטיק דאַטן.
סינטאַקס grep אלנגעזאמלט אַ ביסל מער אַרגומענטן וואָס קענען זיין בעקיצער דיסקרייבד:
-י
- ווייַזן בלויז די נעמען פון טעקעס וואָס ריכטן זיך צו די זוכן קרייטיריאַ;-ס
- דיסייבאַל נאָוטאַפאַקיישאַנז פון געפֿונען ערראָרס;-נ
- אַרויסווייַזן די שורה נומער אין דער טעקע;-b
- ווייַזן די בלאָק נומער איידער די שורה.
גאָרנישט פּריווענץ איר פון אַפּלייינג קייפל אַרגומענטן פֿאַר אַ איין דערגייונג, נאָר אַרייַן זיי אפגעשיידט דורך ספּייסאַז, געדענקען צו זיין פאַל-שפּירעוודיק.
הייַנט מיר דיסאַסעמבאַלד די מאַנשאַפֿט אין דעטאַל grepבנימצא אויף לינוקס דיסטראַביושאַנז. עס איז איינער פון די סטאַנדאַרט און אָפט געניצט. איר קענט לייענען וועגן אנדערע פאָלקס מכשירים און זייער סינטאַקס אין אונדזער באַזונדער מאַטעריאַל אין די פאלגענדע לינק.
זען אויך: אָפט קאַמאַנדז אין לינוקס טערמינאַל