זוהי הפקודה vgrep שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
vgrep, vegrep, vfgrep - הדפס שורות התואמות לתבנית
תקציר
vgrep [ vbind-options ] [ -[[AB]]NUM ] [ -[CEFGVBchilnsvwx] ] [ -e ] דפוס | -fפילה ] [
שמות... ]
תיאור
Vgrep הוא גנו grep עם תיקון לגישה לאובייקטים של גרסת AtFS. Vgrep מחפש בקבצים
ואובייקטי גרסת AtFS המפורטים בארגומנטים (או קלט סטנדרטי אם לא ניתנים שמות,
או השם - נתון) עבור שורות המכילות התאמה לנתון דפוס. כברירת מחדל,
vgrep מדפיס את הקווים התואמים.
ישנן שלוש גרסאות עיקריות של vgrep, נשלט על ידי האפשרויות הבאות.
-G לפרש דפוס כביטוי רגולרי בסיסי (ראה להלן). זוהי ברירת המחדל.
-E לפרש דפוס כביטוי רגולרי מורחב (ראה להלן).
-F לפרש דפוס כרשימה של מחרוזות קבועות, מופרדות בשורות חדשות, כל אחת מהן
יש להתאים.
בנוסף, שתי תוכניות שונות vegrep ו vfgrep זמינים. Vegrep דומה (אבל
לא זהה) ל vgrep -E, והוא תואם ל-Unix ההיסטורי egrep. Vfgrep is
אותו הדבר כמו vgrep -F.
Vgrep מבין את אפשרויות הכריכה של הגרסה הסטנדרטית של ערכת הכלים של Shape. ה שמות on
שורת הפקודה מוחלפת במזהי הגרסה המתאימים של הגרסה שנבחרה
אובייקט.
השמיים vbind-options הן האפשרויות הסטנדרטיות של shapeTools עבור כריכת גרסאות. תיאור של
ניתן למצוא אפשרויות אלה בדף המדריך של vbind(1).
כל הגרסאות של vgrep להבין את האפשרויות הבאות:
-NUM התאמות יודפסו עם NUM קווים של הקשר מוביל ונגרר. למרות זאת,
vgrep לעולם לא ידפיס שורה נתונה יותר מפעם אחת.
-A NUM קופונים להדפסה NUM קווים של הקשר נגרר לאחר התאמת קווים.
-B NUM קופונים להדפסה NUM קווים של הקשר מוביל לפני התאמת קווים.
-C שווה ערך ל -2.
-V הדפס את מספר הגרסה של vgrep לשגיאת תקן. מספר גרסה זה צריך להיות
כלול בכל דוחות הבאגים (ראה להלן).
-b הדפס את היסט הבתים בתוך קובץ הקלט לפני כל שורת פלט.
-c דיכוי פלט רגיל; במקום זאת הדפס ספירה של שורות תואמות עבור כל קלט
קוֹבֶץ. עם ה -v אפשרות (ראה להלן), לספור שורות שאינן תואמות.
-e דפוס
השתמש דפוס כתבנית; שימושי להגנה על דפוסים שמתחילים ב -.
-f פילה
השג את התבנית מ פילה.
-h דחק את הקידומת של שמות קבצים בפלט כאשר מתבצע חיפוש במספר קבצים.
-i התעלם מהבחנות המקרים בשני המקרים דפוס וקבצי הקלט.
-L דיכוי פלט רגיל; במקום זאת הדפס את השם של כל קובץ קלט שממנו לא
הפלט בדרך כלל היה מודפס.
-l דיכוי פלט רגיל; במקום זאת הדפס את השם של כל קובץ קלט שממנו פלט
בדרך כלל היה מודפס.
-n קידומת כל שורה של פלט עם מספר השורה בתוך קובץ הקלט שלה.
-q שֶׁקֶט; לדכא פלט רגיל.
-s דחק הודעות שגיאה לגבי קבצים לא קיימים או בלתי קריאים.
-v הפוך את תחושת ההתאמה, כדי לבחור קווים שאינם תואמים.
-w בחר רק את השורות המכילות התאמות היוצרות מילים שלמות. המבחן הוא זה
המחרוזת המשנה התואמת חייבת להיות בתחילת השורה או לפניה
דמות מרכיבה שאינה מילה. באופן דומה, זה חייב להיות בסוף ה-
קו או אחריו תו מרכיב שאינו מילה. תווים המרכיבים מילים
הם אותיות, ספרות והקו תחתון.
-x בחר רק את ההתאמות שמתאימות בדיוק לכל השורה.
רגיל ביטויים
ביטוי רגולרי הוא תבנית המתארת קבוצה של מחרוזות. ביטויים רגולריים
בנויים באופן אנלוגי לביטויים אריתמטיים, על ידי שימוש באופרטורים שונים ל
לשלב ביטויים קטנים יותר.
Vgrep מבין שתי גרסאות שונות של תחביר ביטוי רגולרי: ``בסיסי'' ו
``מורחב.'' ב-GNU grep, אין הבדל בפונקציונליות הזמינה באמצעות אחד מהם
תחביר. ביישומים אחרים, ביטויים רגולריים בסיסיים פחות חזקים. ה
התיאור הבא חל על ביטויים רגולריים מורחבים; הבדלים לבסיס
ביטויים רגולריים מסוכמים לאחר מכן.
אבני הבניין הבסיסיות הן הביטויים הרגולריים התואמים לתו בודד.
רוב התווים, כולל כל האותיות והספרות, הם ביטויים רגולריים התואמים
עצמם. ניתן לצטט כל דמות מטא בעלת משמעות מיוחדת על ידי הקדמה עם א
מַהֲלָך סְרָק.
רשימה של תווים מוקפת על ידי [ ו ] מתאים לכל תו בודד ברשימה זו; אם ה
הדמות הראשונה של הרשימה היא הקרט ^ אז זה מתאים לכל דמות לֹא ברשימה.
לדוגמה, הביטוי הרגולרי [0123456789] מתאים לכל ספרה בודדת. טווח של
ניתן לציין תווי ASCII על ידי מתן התו הראשון והאחרון, מופרדים ב-a
מַקָף. לבסוף, מחלקות מסוימות בשם של תווים מוגדרות מראש. השמות שלהם הם
מסבירים את עצמם, והם [:alnum:], [:alpha:], [:cntrl:], [:סִפְרָה:], [:גרָף:],
[:נמוך יותר:], [:הדפס:], [:punct:], [:מֶרחָב:], [:עֶלִיוֹן:], ו [:xdigit:]. לדוגמה,
[[: alnum:]] אומר [0-9A-Za-z], אלא שהצורה האחרונה תלויה ב-ASCII
קידוד תווים, ואילו הראשון הוא נייד. (שים לב שהסוגריים באלה
שמות מחלקות הם חלק מהשמות הסמליים, ויש לכלול אותם בנוסף ל
סוגריים התוחמים את רשימת הסוגריים.) רוב התווים המטא מאבדים את המשמעות המיוחדת שלהם
בתוך רשימות. לכלול מילולית ] למקם אותו במקום הראשון ברשימה. באופן דומה, לכלול א
מילולי ^ מקם אותו בכל מקום מלבד ראשון. לבסוף, לכלול מילולית - למקם אותו אחרון.
התקופה . מתאים לכל תו בודד. הסמל \w הוא מילה נרדפת ל- [[: alnum:]]
ו \W הוא מילה נרדפת ל- [^[:alnum]].
המטפלת ^ וסימן הדולר $ הם מטא-תווים התואמים את הריק בהתאמה
מחרוזת בתחילת ובסוף שורה. הסמלים \< ו \> בהתאמה להתאים את
מחרוזת ריקה בתחילת וסופה של מילה. הסמל \b מתאים למחרוזת הריקה
בקצה של מילה, ו \B מתאים למחרוזת הריקה בתנאי שהיא לֹא בקצה של א
מילה.
ביטוי רגולרי התואם לתו בודד עשוי להיות אחריו אחד מתוך כמה
מפעילי חזרות:
? הפריט הקודם הוא אופציונלי ומותאם לכל היותר פעם אחת.
* הפריט הקודם יקבל התאמה אפס או יותר פעמים.
+ הפריט הקודם יתואם פעם אחת או יותר.
{n} הפריט הקודם מותאם בדיוק n פעמים.
{n,} הפריט הקודם מותאם n או יותר פעמים.
{,m} הפריט הקודם הוא אופציונלי והוא מותאם לכל היותר m פעמים.
{n,m} הפריט הקודם תואם לפחות n פעמים, אך לא יותר מ m פעמים.
שני ביטויים רגולריים עשויים להיות משורשרים; הביטוי הרגולרי המתקבל מתאים לכל אחד
מחרוזת שנוצרה על ידי שרשור שתי תת מחרוזות התואמות בהתאמה לשרשור
ביטויי משנה.
שני ביטויים רגולריים עשויים להיות מצורפים על ידי אופרטור האינפקס |; הרגיל המתקבל
ביטוי תואם כל מחרוזת התואמת לכל ביטוי משנה.
החזרה עדיפה על שרשור, שבתורה מקבל עדיפות על פני שרשור
הִתחַלְפוּת. תת-ביטוי שלם עשוי להיות מוקף בסוגריים כדי לעקוף אותם
כללי קדימות.
ההפניה לאחור \n, שם n הוא ספרה בודדת, תואם את המחרוזת המשנה שהותאמה בעבר
על ידי nביטוי משנה בסוגריים של הביטוי הרגולרי.
בביטויים רגולריים בסיסיים המטא-תווים ?, +, {, |, (, ו ) לאבד את המיוחד שלהם
מַשְׁמָעוּת; במקום זאת, השתמש בגרסאות עם חתך לאחור \?, \+, \{, \|, \(, ו \).
In vegrep המטא-האופי { מאבד את המשמעות המיוחדת שלו; במקום להשתמש \{.
דיאגנוסטיקה
בדרך כלל, סטטוס היציאה הוא 0 אם נמצאו התאמות, ו-1 אם לא נמצאו התאמות. (ה -v
אפשרות הופכת את התחושה של מצב היציאה.) מצב היציאה הוא 2 אם היה תחביר
שגיאות בדפוס, קבצי קלט בלתי נגישים או שגיאות מערכת אחרות.
דוגמאות
גריפ עבור ``foo'' בגרסה 1.43 של smile.c:
vgrep foo smile.c[1.43]
גריפ עבור ``foo'' בגרסה האחרונה של smile.c (גרסה אחרונה שנשמרה או קובץ תפוס, אם
זמין):
vgrep -last foo smile.c
גריפ עבור ``foo'' בכל הגירסאות של קבצי C שנוצרו מאז 14 בפברואר 1993:
vgrep -מאז 14.2.93 foo \∗.c
גריפ עבור ``foo'' בכל הגרסאות הנושאות את השם הסמלי ``Release-2.3'':
vgrep foo \∗[Release-2.3]
השתמש ב-vgrep באינטרנט באמצעות שירותי onworks.net