ack-grepp - מקוון בענן

זוהי הפקודה ack-grepp שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


ack - מאתר טקסט דמוי grep

תַקצִיר


ack [אפשרויות] PATTERN [קובץ...]
ack -f [אפשרויות] [ספרייה...]

תיאור


Ack תוכנן כחלופה ל grep עבור מתכנתים.

Ack מחפש את קבצי הקלט בעלי השם (או קלט רגיל אם אין שם קבצים, או בקובץ
שם - ניתן) עבור שורות המכילות התאמה ל-PATTERN הנתון. כברירת מחדל, ack
מדפיס את הקווים התואמים.

PATTERN הוא ביטוי רגיל של Perl. ביטויים רגולריים של Perl נמצאים בדרך כלל ב
שפות תכנות אחרות, אך לפרטי התנהגותן, נא להתייעץ
<http://perldoc.perl.org/perlreref.html|perlreref>. אם אתה לא יודע איך להשתמש ברגיל
ביטוי אך מעוניינים ללמוד, תוכל להתייעץ
<http://perldoc.perl.org/perlretut.html|perlretut>. אם אתה לא צריך או רוצה להשתמש ב-ack
ביטויים רגילים, אנא עיין באפשרות "-Q"/"--literal".

Ack יכול גם לרשום קבצים שיחפשו, מבלי לחפש אותם בפועל, כדי לאפשר
אתה מנצל את יכולות הסינון מסוג קבצים של ack.

קובץ בחירת


אם קבצים לא צוינו לחיפוש, או בשורת הפקודה או שהוכנסו עם ה-
אפשרות "-x", ack מתעמק בספריות משנה בבחירת קבצים לחיפוש.

ack הוא אינטליגנטי לגבי הקבצים שהוא מחפש. הוא יודע על סוגי קבצים מסוימים, מבוסס
הן על הסיומת בקובץ והן, במקרים מסוימים, על תוכן הקובץ. אלה
ניתן לבצע בחירות עם --סוּג אוֹפְּצִיָה.

ללא בחירת קבצים, ack מחפש בקבצים רגילים שאינם במפורש
לא נכלל על ידי --תעלם-dir ו --התעלם מקובץ אפשרויות, או קיימות ב acrc קבצים או על
שורת הפקודה.

אפשרויות ברירת המחדל עבור ack להתעלם מקבצים וספריות מסוימות. אלו כוללים:

· קבצי גיבוי: קבצים תואמים #*# או מסתיים ב ~.

· Coredumps: התאמת קבצים core.\d+

· ספריות בקרת גרסה כמו .svn ו .גיט.

הפעלה ack עם האפשרות "--dump" כדי לראות אילו הגדרות מוגדרות.

עם זאת, ack תמיד מחפש בקבצים שניתנו בשורת הפקודה, לא משנה איזה סוג. אם
אתה אומר ack כדי לחפש ב-coredump, זה יחפש ב-coredump.

DIRECTORY בחירת


ack יורד דרך עץ הספריות של ספריות ההתחלה שצוינו. אם לא
מציינים ספריות, נעשה שימוש בספריית העבודה הנוכחית. עם זאת, זה יתעלם
ספריות הצל בשימוש על ידי מערכות בקרת גרסאות רבות, וספריות ה-build
בשימוש על ידי מערכת Perl MakeMaker. אתה יכול להוסיף או להסיר ספרייה מרשימה זו עם
מה היא --[no]ignore-dir אוֹפְּצִיָה. ניתן לחזור על האפשרות להוסיף/להסיר מספר ספריות
מרשימת ההתעלמות.

לרשימה מלאה של ספריות שלא מתבצעות חיפוש, הפעל את "ack --dump".

כאשר ל להשתמש GREP


ack מנצחת grep ככלי יומיומי 99% מהזמן, אבל אל תזרקו grep משם, כי
יש פעמים שאתה עדיין צריך את זה.

למשל, חיפוש בקבצים ענקיים בחיפוש אחר קבצי regexes שניתן להביע איתם grep
תחביר צריך להיות מהיר יותר עם grep.

אם הסקריפט או תוכנית האב שלך משתמשת grep "--שקט" או "--שקט" או צריך יציאה 2 ב-IO
שגיאה, השתמש grep.

אפשרויות


--ackrc
מציין קובץ ackrc לטעינה אחרי כל השאר; ראה "סמנטיקה של מיקום ACKRC".

-A NUM, --אחרי-הקשר=NUM
קופונים להדפסה NUM קווים של הקשר נגרר לאחר התאמת קווים.

-B NUM, --before-context=NUM
קופונים להדפסה NUM קווים של הקשר מוביל לפני התאמת קווים.

--[אין הפסקה
הדפס הפסקה בין תוצאות מקבצים שונים. פועל כברירת מחדל בעת שימוש
באופן אינטראקטיבי.

-C [NUM], --הקשר[=NUM]
קופונים להדפסה NUM שורות (ברירת מחדל 2) של הקשר סביב קווים תואמים.

-c, --לספור
דיכוי פלט רגיל; במקום זאת הדפס ספירה של שורות תואמות עבור כל קובץ קלט.
If -l בתוקף, הוא יציג רק את מספר השורות עבור כל קובץ שיש לו שורות
תוֹאֵם. לְלֹא -l, מספר שורות עשויות להיות אפסים.

אם משלבים עם -h (--אין שם קובץ) ack מוציא רק ספירה כוללת אחת.

--[בלי צבע, --[אין] צבע
--צֶבַע מדגיש את הטקסט התואם. --בלי צבע מדכא את הצבע. זה על ידי
ברירת מחדל אלא אם הפלט מנותב מחדש.

ב-Windows, אפשרות זו כבויה כברירת מחדל אלא אם כן מודול Win32::Console::ANSI
מותקן או שנעשה שימוש במשתנה הסביבה "ACK_PAGER_COLOR".

--color-filename=צֶבַע
מגדיר את הצבע שישמש עבור שמות קבצים.

--color-match=צֶבַע
מגדיר את הצבע שישמש עבור התאמות.

--color-lineno=צֶבַע
מגדיר את הצבע שישמש עבור מספרי שורות.

--[אין]עמודה
הצג את מספר העמודה של ההתאמה הראשונה. זה מועיל עבור עורכים שיכולים להציב
הסמן שלך במיקום נתון.

--create-ackrc
משליך את אפשרויות ברירת המחדל של ack לפלט סטנדרטי. זה שימושי כאשר אתה רוצה
להתאים אישית את ברירות המחדל.

--מזבלה
כותב את רשימת האפשרויות הטעונות ומאיפה הן הגיעו לפלט סטנדרטי. שימושי
לצורך איתור באגים.

--[no]env
--noenv משבית את כל עיבוד הסביבה. לא .ackrc נקרא וכל הסביבה
מתעלמים מהמשתנים. כברירת מחדל, ack רואה .ackrc והגדרות ב-
סביבה.

--סומק
--סומק שוטף את הפלט מיד. זה כבוי כברירת מחדל אלא אם ack פועל
באופן אינטראקטיבי (כאשר הפלט עובר לצינור או לקובץ).

-f הדפס רק את הקבצים שיחפשו, מבלי לבצע חיפוש.
אין לציין PATTERN, אחרת הוא יילקח כנתיב לחיפוש.

--files-from=קובץ
רשימת הקבצים שיש לחפש מפורטת ב קובץ. רשימת הקבצים הם
מופרדים על ידי שורות חדשות. אם קובץ הוא "-", הרשימה נטענת מקלט רגיל.

--[ללא מסנן
כוחות ack לפעול כאילו הוא מקבל קלט דרך צינור.

--[לא עוקב
עקוב או אל תעקוב אחר סימלינקים, מלבד קבצים או ספריות התחלתיות
צוינו בשורת הפקודה.

זה כבוי כברירת מחדל.

-g תַבְנִית
הדפס קבצים שבהם הנתיב היחסי + שם הקובץ תואם תַבְנִית. אפשרות זו יכולה להיות
בשילוב עם --צֶבַע כדי שיהיה קל יותר לזהות את ההתאמה.

--[אין] קבוצה
--קְבוּצָה קבוצות התאמות לפי שם קובץ. זוהי ברירת המחדל בשימוש אינטראקטיבי.

--nogroup מדפיס תוצאה אחת בכל שורה, כמו grep. זוהי ברירת המחדל כאשר הפלט הוא
מנותב מחדש.

-H, --עם-שם קובץ
הדפס את שם הקובץ עבור כל התאמה. זוהי ברירת המחדל אלא אם כן מחפשים יחיד
קובץ שצוין במפורש.

-h, --אין שם קובץ
דחק את הקידומת של שמות קבצים בפלט כאשר מתבצע חיפוש במספר קבצים.

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

- עזרה, -?
הדפס הצהרת עזרה קצרה.

--סוגי עזרה, --עזרה=סוגים
הדפס את כל הסוגים המוכרים.

-i, --התעלם ממקרה
התעלם מהבחנה בין רישיות ב-PATTERN

--ignore-ack-defaults
אומר ל-ack להתעלם לחלוטין מהגדרות ברירת המחדל שסופקו עם ack. זה
שימושי בשילוב עם --create-ackrc אם אתה בֶּאֱמֶת רוצה להתאים אישית ack.

--[no]ignore-dir=DIRNAME, --[no]ignore-directory=DIRNAME
התעלם מהספרייה (כיוון שמתעלמים מ-CVS, .svn וכו'). ניתן להשתמש בו מספר פעמים כדי להתעלם
מספר ספריות. לדוגמה, משתמשי מייסון עשויים לרצות לכלול --ignore-dir=נתונים.
השמיים --noignore-dir האפשרות מאפשרת למשתמשים לחפש ספריות שבדרך כלל
התעלמו (אולי כדי לחקור את התוכן של .svn/props ספריות).

השמיים DIRNAME חייב להיות תמיד שם ספרייה פשוט. ספריות מקוננות כמו פו בר
אינם נתמכים. היית צריך לפרט --ignore-dir=foo ולאחר מכן אין קבצים מ
כל ספריית foo נלקחת בחשבון על ידי ack אלא אם כן היא ניתנת במפורש בפקודה
קו.

--ignore-file=FILTERTYPE:FILTERARGS
התעלם מקבצים תואמים FILTERTYPE:FILTERARGS. המסננים מצוינים באופן זהה ל
מסנני סוגי קבצים כפי שניתן לראות ב"הגדרת סוגים משלך".

-k, --סוגים ידועים
הגבל את הקבצים שנבחרו לאלה עם סוגים ש-ack מכיר. זה שווה ערך ל
התנהגות ברירת המחדל שנמצאת ב-ack 1.

--שורות=NUM
רק קו הדפסה NUM של כל קובץ. ניתן לתת מספר שורות עם מרובה --שורות
אפשרויות או כרשימה מופרדת בפסיק (--שורות=3,5,7). --שורות=4-7 גם עובד. ה
השורות מופקות תמיד בסדר עולה, ללא קשר לסדר שניתן בפקודה
קו.

-l, --קבצים-עם-התאמות
הדפס רק את שמות הקבצים של הקבצים התואמים, במקום הטקסט התואם.

-L, --קבצים-ללא-התאמות
הדפס רק את שמות הקבצים של קבצים שכן לא להתאים.

--התאמה תַבְנִית
ציין את תַבְנִית בִּמְפוּרָשׁ. זה מועיל אם אינך רוצה לשים את הביטוי הרגולרי כ
הטיעון הראשון שלך, למשל בעת ביצוע חיפושים מרובים על אותה קבוצת קבצים.

# חפש foo ו-bar בקבצים נתונים
ack file1 t/file* --match foo
ack file1 t/file* --שורת התאמה

-m=NUM, --max-count=NUM
תפסיק לקרוא קובץ אחרי NUM גפרורים.

--איש
הדפס דף מדריך זה.

-n, --אין חזרה
אין ירידה לתוך ספריות משנה.

-o הצג רק את החלק של כל שורה התואם ל-PATTERN (מכבה את הדגשת הטקסט)

--פלט=ביטוי
פלט את ההערכה של ביטוי עבור כל שורה (מכבה את הדגשת הטקסט) אם PATTERN
תואם יותר מפעם אחת ואז יוצאת שורה עבור כל התאמה שאינה חופפת. לעוד
מידע נא עיין בסעיף "דוגמאות של --תְפוּקָה".

--pager=התוכנית, --nopager
--ביפר מכוון את הפלט של ack דרך התוכנית. ניתן לציין זאת גם דרך
משתני סביבה "ACK_PAGER" ו-"ACK_PAGER_COLOR".

השימוש ב--pager אינו מדכא קיבוץ וצביעה כמו פלט צנרת על
שורת הפקודה עושה זאת.

--nopager מבטל כל הגדרה ב ~/.ackrc, "ACK_PAGER" או "ACK_PAGER_COLOR". לא
הפלט יישלח דרך ביפר.

--לעבור דרך
מדפיס את כל השורות, בין אם הן תואמות לביטוי ובין אם לא. ההדגשה עדיין תהיה
עם זאת, עובד, כך שניתן להשתמש בו כדי להדגיש התאמות ועדיין לראות את כולו
קובץ, כמו ב:

# צפה בקובץ יומן וסמן כתובת IP מסוימת
$ זנב -f ~/access.log | ack --passthru 123.45.67.89

--הדפס0
עובד רק בשילוב עם -f, -g, -l או -c (פלט שם קובץ). שמות הקבצים הם
פלט מופרד ב-null byte במקום בשורה החדשה הרגילה. זה מועיל כאשר
התמודדות עם שמות קבצים המכילים רווח לבן, למשל

# הסר את כל הקבצים מסוג html
ack -f --html --print0 | xargs -0 rm -f

-Q, - מילולי
צטט את כל המטא-תווים ב-PATTERN, מתייחסים אליו כאל מילולי.

-r, -R, --שחזור
חזור לתוך ספריות משנה. זוהי ברירת המחדל ורק כאן עבור תאימות עם
grep. אתה יכול להשתמש בו גם להפיכה --אין חזרה הנחה.

-s דחק הודעות שגיאה לגבי קבצים לא קיימים או בלתי קריאים. זה נלקח מ
fgrep.

--[לא]מקרה חכם, --לא-מקרה-חכם
התעלם מרישיות במחרוזות החיפוש אם PATTERN אינו מכיל תווים רישיות. זה
דומה ל"מקרה חכם" ב-vim. אפשרות זו כבויה כברירת מחדל, ומתעלמת ממנה אם "-i" הוא
נָקוּב.

-i תמיד עוקף את האפשרות הזו.

--מיין קבצים
ממיין את הקבצים שנמצאו בצורה לקסיקוגרפית. השתמש בזה אם אתה רוצה את רישומי הקבצים שלך
להיות דטרמיניסטי בין ריצות של ack.

--סוגי מופעים
מפלט את סוגי הקבצים המשויכים לכל קובץ.

עובד עם -f ו -g אפשרויות.

--type=[no]TYPE
ציין את סוגי הקבצים שיש לכלול או לא לכלול בחיפוש. TYPE הוא סוג קובץ,
כמו פרל or xml. --type=perl ניתן לציין גם כ - פרל, ו --type=noperl יכול
להיעשות כמו --נופרל.

אם קובץ הוא מסוג "foo" וגם מסוג "bar", ציון --foo ו--nobar לא יכלול
הקובץ, כי אי הכללה עדיפה על הכללה.

ניתן לחזור על מפרטי הסוג והם מאושרים יחד.

לִרְאוֹת ack --עזרה=סוגים עבור רשימה של סוגים חוקיים.

--type-add סוג:סנן:FILTERARGS
קבצים עם ה-FILTERARGS הנתון שהוחלו על ה-FILTER הנתון מוכרים כ-of
(הקיים) סוג TYPE. ראה גם "הגדרת סוגים משלך".

--סוג-סט סוג:סנן:FILTERARGS
קבצים עם ה-FILTERARGS הנתון שהוחלו על ה-FILTER הנתון מוכרים כ-of
הקלד TYPE. זה מחליף הגדרה קיימת עבור סוג TYPE. ראה גם "הגדרה
הטיפוסים שלך".

--type-del סוג
המסננים המשויכים ל-TYPE מוסרים מ-Ack ואינם נחשבים עוד
לחיפושים.

-v, --היפוך-התאמה
הפוך התאמה: בחר שורות שאינן תואמות

--גִרְסָה
הצגת גרסה ומידע על זכויות יוצרים.

-w, ---word-exp
הכריח את PATTERN להתאים רק למילים שלמות. ה-PATTERN עטוף ב-"\b"
מטא-תווים.

-x קיצור של --קבצים-מאת=-; רשימת הקבצים לחיפוש נקראים מהתקן
קלט, עם שורה אחת לכל קובץ.

-1 מפסיק לאחר דיווח על התאמה ראשונה מכל סוג שהוא. זה שונה מ --max-count=1
or -מ 1, כאשר רק התאמה אחת לכל קובץ מוצגת. גַם, -1 עובד עם -f ו -g, שם
-m לא.

--thpppt
הצג את הלוגו הכל כך חשוב של Bill The Cat. שימו לב שהאיות המדויק של
--thpppppt אינו חשוב. זה נבדק מול ביטוי רגולרי.

--בָּר
בדוק עם האדמירל אם יש מלכודות.

--קאתי
שוקולד, שוקולד, שוקולד!

LA .ackrc קובץ


השמיים .ackrc הקובץ מכיל אפשרויות שורת פקודה המופיעות לפני שורת הפקודה
לפני העיבוד. אפשרויות מרובות עשויות לחיות על מספר קווים. שורות המתחילות ב-#
מתעלמים. א .ackrc עשוי להיראות כך:

# תמיד מיין את הקבצים
--מיין קבצים

# צבע תמיד, גם אם אתה מעביר לתוכנית אחרת
--צֶבַע

# השתמש ב-"less -r" בתור הביפר שלי
--pager=less -r

שימו לב שאין צורך לצטט טיעונים עם רווחים, מכיוון שהם לא
מתפרש על ידי הקליפה. בעצם, כל אחד קו ב .ackrc הקובץ מתפרש כאחד
אלמנט של @ARGV.

ack מחפש בכמה מקומות .ackrc קבצים; תהליך החיפוש מפורט ב
"סמנטיקה של מיקום ACKRC". קבצים אלה אינם נחשבים אם --noenv מצוין ב-
שורת הפקודה.

מגדיר שֶׁלְךָ שֶׁלוֹ סוגים


ack מאפשר לך להגדיר סוגים משלך בנוסף לסוגים המוגדרים מראש. זה גמור
עם אפשרויות שורת הפקודה שמומלץ להכניס ל-an .ackrc קובץ - אז אתה לא חייב
הגדירו את הסוגים שלכם שוב ושוב. בדוגמאות הבאות האפשרויות תמיד יהיו
יוצגו בשורת פקודה אחת כך שניתן יהיה להעתיק ולהדביק אותם בקלות.

ack - פרל Foo מחפש foo בכל קבצי perl. ack --עזרה=סוגים אומר לך, כי perl
קבצים הם קבצים המסתיימים ב-.pl, .pm, .pod או .t. אז מה אם תרצה לכלול את ‎.xs
קבצים גם בעת חיפוש קבצי --perl? ack --type-add perl:ext:xs - פרל Foo עושה
זה בשבילך. --type-add מוסיף הרחבות נוספות לסוג קיים.

אם אתה רוצה להגדיר סוג חדש, או להגדיר מחדש לגמרי סוג קיים, השתמש
--סוג-סט. ack --סוג-סט eiffel:ext:e,eiffel מגדיר את הסוג אייפל לכלול קבצים
עם ההרחבות .e או .eiffel. אז כדי לחפש את כל קבצי אייפל המכילים את המילה
השתמש ברטרנד ack --סוג-סט eiffel:ext:e,eiffel --אייפל ברטרנד. כרגיל, אתה יכול גם
לכתוב --type=אייפל במקום --אייפל. גם השלילה עובדת, אז --נויפל אינו כולל את כולם
קבצי אייפל מחיפוש. הגדרה מחדש עובדת גם: ack --סוג-סט cc:ext:c,h ו .xs קבצים
כבר לא שייך לסוג cc.

בעת הגדרת סוגים משלך ב- .ackrc אתה צריך להשתמש בקובץ הבא:

--type-set=eiffel:ext:e,eiffel

או כתיבה בשורות נפרדות

--סוג-סט
eiffel:ext:e,eiffel

הדברים הבאים עושים לא לעבוד ב .ackrc קובץ:

--type-set eiffel:ext:e,eiffel

על מנת לראות את כל הסוגים המוגדרים כעת, השתמש --סוגי עזרהלמשל ack --סוג-סט
backup:ext:bak --type-add perl:ext:perl --סוגי עזרה

בנוסף לסינון המבוסס על הרחבה (כמו ack 1.x מותר), ack 2 מציע
סוגי מסננים נוספים. התחביר הגנרי הוא --סוג-סט TYPE:FILTER:FILTERARGS;
FILTERARGS תלוי בערך של סנן.

היא:שם קובץ
is מסננים מתאימים בדיוק לשם קובץ היעד. צריך בדיוק טיעון אחד, כלומר
שם הקובץ שיתאים.

דוגמא:

--type-set make:is:Makefile

שלוחה:הארכת[,הרחבה2[,...]]
שלוחה מסננים תואמים את הסיומת של קובץ היעד מול רשימה של הרחבות. לא
יש צורך בנקודה מובילה עבור ההרחבות.

דוגמא:

--type-set perl:ext:pl,pm,t

התאמה:תַבְנִית
להתאים מסננים תואמים את שם קובץ היעד מול ביטוי רגולרי. הקבוע
הביטוי נעשה ללא רגישות רישיות עבור החיפוש.

דוגמא:

--type-set make:match:/(gnu)?makefile/

התאמה ראשונה:תַבְנִית
התאמה ראשונה מתאים את השורה הראשונה של קובץ היעד לביטוי רגולרי.
כמו להתאים, הביטוי הרגולרי נעשה ללא רגישות רישיות.

דוגמא:

--type-add perl:firstlinematch:/perl/

סוגי מסננים נוספים עשויים להיות זמינים בעתיד.

הסביבה וריאציות


עבור אפשרויות ack הנפוצות, משתני סביבה יכולים לעשות את החיים הרבה יותר קלים. אלה
משתנים מתעלמים אם --noenv מוגדר בשורת הפקודה.

ACKRC
מציין את המיקום של המשתמש .ackrc קוֹבֶץ. אם הקובץ הזה לא קיים, ack
נראה במיקום ברירת המחדל.

ACK_OPTIONS
משתנה זה מציין אפשרויות ברירת מחדל שיוצבו מול כל האפשרויות המפורשות
בשורת הפקודה.

ACK_COLOR_FILENAME
מציין את הצבע של שם הקובץ כאשר הוא מודפס --קְבוּצָה מצב. כברירת מחדל,
זה "ירוק מודגש".

התכונות המוכרות הן ברור, איפוס, כהה, מודגש, קו תחתון, קו תחתון, מצמוץ,
הפוך, שחור סמוי, אדום, ירוק, צהוב, כחול, מגנטה, על_שחור, על_אדום,
על_ירוק, על_צהוב, על_כחול, על_מגנטה, על_ציאן ועל_לבן. מקרה לא
משמעותי. קו תחתון וקו תחתון שווים, כמו ברור ומאופס. ה
color לבדו קובע את צבע החזית, ו-on_color קובע את צבע הרקע.

ניתן להגדיר אפשרות זו גם עם --color-filename.

ACK_COLOR_MATCH
מציין את צבע הטקסט התואם כאשר הוא מודפס --צֶבַע מצב. כברירת מחדל,
זה "שחור על צהוב".

ניתן להגדיר אפשרות זו גם עם --התאמת צבעים.

לִרְאוֹת ACK_COLOR_FILENAME למפרטי הצבע.

ACK_COLOR_LINENO
מציין את צבע מספר השורה כאשר הוא מודפס --צֶבַע מצב. כברירת מחדל, זה
"צהוב מודגש".

ניתן להגדיר אפשרות זו גם עם --color-lineno.

לִרְאוֹת ACK_COLOR_FILENAME למפרטי הצבע.

ACK_PAGER
מציין תוכנית ביפר, כגון "יותר", "פחות" או "הכי", שאליה יישלח ack
הפלט שלו.

השימוש ב-"ACK_PAGER" אינו מדכא קיבוץ וצביעה כמו פלט צנרת ב-
שורת הפקודה עושה זאת, אלא שב-Windows ack יניח ש-"ACK_PAGER" לא
צבע תומך.

"ACK_PAGER_COLOR" עוקף את "ACK_PAGER" אם צוינו שניהם.

ACK_PAGER_COLOR
מציין תוכנית ביפר שמבינה רצפי צבע ANSI. באמצעות
"ACK_PAGER_COLOR" אינו מדכא קיבוץ וצביעה כמו פלט צנרת על
שורת הפקודה עושה זאת.

אם אינך משתמש ב-Windows, לעולם אינך צריך להשתמש ב-"ACK_PAGER_COLOR".

זמין צבעים


ack משתמש בצבעים הזמינים במודול Term::ANSIColor של Perl, המספק את
בעקבות הערכים הרשומים. שימו לב שהמקרה לא משנה בעת שימוש בערכים אלו.

קדמה צבעים
שחור אדום ירוק צהוב כחול מגנטה ציאן לבן

בהיר_שחור בהיר_אדום בהיר_ירוק בהיר_צהוב
בהיר_כחול בהיר_מגנטה בהיר_ציאן בהיר_לבן

רקע צבעים
על_שחור על_אדום על_ירוק על_צהוב
on_blue on_magenta on_cyan on_white

על_בהיר_שחור על_אדום_בהיר על_ירוק_בהיר על_צהוב_בהיר
על_בהיר_כחול על_בהיר_מגנטה על_ציאן_בהיר על_לבן_בהיר

ACK & אחר כלי עבודה


מֶרֶץ השתלבות
ack משתלב בקלות עם עורך הטקסט Vim. הגדר את זה אצלך .vimrc כדי להשתמש ack במקום
of grep:

set grepprg=ack\ -k

הדוגמה הזו משתמשת ב-"-k" כדי לחפש רק קבצים מהסוגים ש-ack מכיר, אבל אתה
עשוי להשתמש בדגלי ברירת מחדל אחרים. עכשיו אתה יכול לחפש עם ack ולעבור בקלות דרך ה
תוצאות ב-Vim:

:grep Dumper perllib

מיילס סטרט כתב תוסף Vim עבור ack המאפשר לך להשתמש ב-":Ack" במקום
":grep", כמו גם כמה תכונות מתקדמות אחרות.



אמאק השתלבות
פיל ג'קסון הרכיב א ack.el הרחבה ש"מספקת מצב קומפילציה פשוט...
יש את היכולת לנחש אילו קבצים אתה רוצה לחפש בהתבסס על המצב הראשי."

<http://www.shellarchive.co.uk/content/emacs.html>

TextMate השתלבות
פדרו מלו הוא משתמש TextMate שכותב "אני מבלה את היום שלי בעיקר ב- TextMate, וה
מובנה למצוא בפרויקט מבאס עם פרויקטים גדולים. אז פרצתי לפקודת TextMate
השתמש ב-find + grep כדי להשתמש ב-ack. התוצאה היא החיפוש בפרויקט עם ack, ואתה
יכול למצוא את זה כאן:
<http://www.simplicidade.org/notes/archives/2008/03/search_in_proje.html>"

פָּגָז ו לחזור קופונים
לתאימות רבה יותר עם grep, ack בשימוש רגיל מחזירה קוד החזרת מעטפת או יציאה
של 0 רק אם נמצא משהו ו-1 אם לא נמצאה התאמה.

(קוד יציאה 1 של מעטפת הוא "$?=256" ב-perl עם "system" או סימנים לאחור.)

השמיים grep לא נעשה שימוש בקוד 2 לשגיאות.

אם מצוין "-f" או "-g", אז 0 מוחזר אם נמצא לפחות קובץ אחד. אם לא
נמצאו קבצים, ואז 1 מוחזר.

פיתרון ACK בעיות


אם ack נותן לך פלט שאתה לא מצפה לו, התחל עם כמה שלבים פשוטים.

השתמש --noenv
משתני הסביבה שלך ו .ackrc יכול להיות שאתה עושה דברים שאתה לא מצפה להם, או
שכחת שציינת. להשתמש --noenv להתעלם מהסביבה שלך ו .ackrc.

השתמש -f ל לִרְאוֹת מה קבצים יש היה נבחר
של אק -f התווסף במקור ככלי איתור באגים. אם ack לא מוצא מתאים לך
חושב שזה צריך למצוא, לרוץ ack -f כדי לראות אילו קבצים נבחרו. אפשר גם להוסיף
האפשרויות "--show-types" כדי להציג את הסוג של כל קובץ שנבחר.

השתמש --מזבלה
זה מפרט את קבצי ackrc שנטענים ואת האפשרויות הנטענות מהם. אז בשביל
לדוגמה אתה יכול למצוא רשימה של ספריות שלא מתבצעות חיפוש או היכן נמצאים סוגי קבצים
מוּגדָר.

טיפים


השתמש מה היא .ackrc קובץ.
השמיים .ackrc הוא המקום לשים את כל האפשרויות שלך שאתה משתמש בהן רוב הזמן אבל לא רוצה
זכור. שים את כל ההגדרות שלך --type-add ו--type-set בו. אם אתה רוצה
---smart-case, שים אותו גם שם. אני גם מגדיר שם --sort-files.

השתמש -f ל עובד עם גדול ערכות קוד
Ack עושה יותר מחיפוש קבצים. "ack -f --perl" תיצור רשימה של כל קבצי Perl
בעץ, אידיאלי לשליחה קסארגס. לדוגמה:

# שנה את כל "זה" ל"זה" בכל קבצי Perl בעץ.
ack -f --perl | xargs perl -p -i -e's/this/that/g'

או אם אתה מעדיף:

perl -p -i -e's/this/that/g' $(ack -f --perl)

השתמש -Q מתי in ספק על מטא-דמויות
אם אתה מחפש משהו עם מטא-תו של ביטוי רגולרי, לרוב א
נקודה בשם קובץ או בכתובת IP, הוסף את ה-Q כדי למנוע תוצאות חיוביות שגויות ללא כל
חיתוך לאחור. עיין בדוגמה הבאה למידע נוסף...

השתמש ack ל שעון היכנס קבצים
הנה אחד שהשתמשתי בו לפני כמה ימים כדי למצוא נקודות בעייתיות למבקר באתר. למשתמש היה
בעיה בטעינה troublesome.gif, אז לקחתי את יומן הגישה וסרקתי אותו עם ack פעמיים.

ack -Q aa.bb.cc.dd /path/to/access.log | ack -Q -B5 troublesome.gif

ה-ack הראשון מוצא רק את השורות ביומן Apache עבור ה-IP הנתון. הממצא השני
ההתאמה ב-GIF הבעייתי שלי, ומראה את חמש השורות הקודמות מהיומן בכל אחת מהן
מקרה.

דוגמאות of --תְפוּקָה
המשתנים הבאים שימושיים במחרוזת ההרחבה:

$& המחרוזת כולה מותאמת ל-PATTERN.

$1, $2,...
התוכן של קבוצה 1, 2 ... בסוגריים ב-PATTERN.

"$`"
המחרוזת לפני המשחק.

"$'"
המחרוזת לאחר המשחק.

לפרטים נוספים ומשתנים נוספים ראה
<http://perldoc.perl.org/perlvar.html#Variables-related-to-regular-expressions|perlvar>.

דוגמה זו מראה כיצד להוסיף טקסט סביב דפוס מסוים (במקרה זה הוספת _
סביב מילה עם "ה")

ack2.pl "\w*e\w*" quick.txt --output="$`_$&_$'"
_השועל החום המהיר קופץ מעל הכלב העצלן
השועל החום המהיר קופץ _מעל_ הכלב העצלן
השועל החום המהיר קופץ מעל _הכלב העצלן

זה מראה כיצד לבחור חלקים מסוימים של התאמה באמצעות ( ) בתוך רגיל
ביטוי.

ack '=head(\d+)\s+(.*)' --output=' $1 : $2'
קובץ הקלט מכיל "=head1 NAME"
פלט "1 : NAME"

שיתוף שֶׁלְךָ ידע
הצטרפו לרשימת התפוצה של ack-users. שלח לי את הטיפים שלך ואולי אוסיף אותם כאן.

שאלות נפוצות


למה לא ack מציאת a להתאים in (כמה קוֹבֶץ)?
כנראה בגלל שזה מסוג ש-ack לא מזהה. התנהגות החיפוש של ack היא
מונע על ידי סוג קובץ. If ack לא לדעת מה סוג of פילה it , ack מתעלם מה היא קובץ.

השתמש במתג "-f" כדי לראות רשימה של קבצים ש-ack יחפש עבורך. אתה יכול להשתמש ב
מתג "--show-types" כדי להראות איזה סוג ack חושב שכל קובץ הוא.

לא it be גדול if ack עשה search & החלף?
לא, ack תמיד יהיה לקריאה בלבד. לפרל יש דרך טובה לחלוטין לבצע חיפוש והחלפה
קבצים, באמצעות המתגים "-i", "-p" ו-"-n".

אתה בהחלט יכול להשתמש ב-ack כדי לבחור את הקבצים שלך לעדכון. למשל, לשנות הכל
"foo" ל-"bar" בכל קבצי PHP, אתה יכול לעשות זאת מהמעטפת של יוניקס:

$ perl -i -p -e's/foo/bar/g' $(ack -f --php)

פחית I לעשות ack להכיר .xyz קבצים?
כן! אנא ראה "הגדרת סוגים משלך". אם אתה חושב ש ack צריך לזהות סוג
כברירת מחדל, אנא ראה "שיפורים".

ללא שם: יש כְּבָר a תוכנית/חבילה נקרא ack.
כן, אני יודע.

למה is it נקרא ack if זה נקרא ack-grep?
שם התוכנית הוא "אק". חלק מהמארזים קראו לזה "ack-grep" בעת היצירה
חבילות כי כבר יש שם חבילה בשם "ack" שאין לה מה לעשות
עם האק הזה.

אני מציע לך ליצור קישור סימול בשם ack שמצביע על ack-grep כי אחד החשובים
היתרונות של ack זה שיש לו שם כל כך קצר ופשוט להקלדה.

כדי לעשות זאת, הפעל את זה עם sudo או בתור שורש:

ln -s /usr/bin/ack-grep /usr/bin/ack

לחלופין, תוכל להשתמש בכינוי מעטפת:

# bash/zsh
כינוי ack=ack-grep

# csh
כינוי ack ack-grep

מה עושה ack אומר?
שום דבר. רציתי שם שקל להקליד ושאפשר לבטא אותו כסינגל
הֲבָרָה.

פחית I do רב קו regexes?
לא, ack אינו תומך ב-Regexes התואמים למספר שורות. לעשות זאת ידרוש
לקרוא את כל הקובץ בכל פעם.

אם אתה רוצה לראות קווים ליד המשחק שלך, השתמש במתגי "--A", "--B" ו- "--C" עבור
הצגת הקשר.

למה is ack אומר לי me I יש an חוקי אוֹפְּצִיָה מתי חיפוש ל "+פו"?
ack מתייחס לאפשרויות שורת הפקודה המתחילות ב-"+" או "-" כאפשרויות; אם תרצה
חפש את אלה, תוכל להוסיף את מונח החיפוש שלך בקידומת "--" או להשתמש באפשרות "--match".
(עם זאת, אל תשכח ש-"+" הוא מטא-תו של ביטוי רגיל!)

למה עושה "אק '.{40000,}'" לְהִכָּשֵׁל? לא זֶה a תקף רקס?
שפת Perl מגבילה את מכמת החזרות ל-32K. אתה יכול לחפש ".{32767}"
אבל לא ".{32768}".

ACKRC לוקיישן סֵמַנטִיקָה


Ack יכול לטעון את התצורה שלו ממקורות רבים. רשימה זו מציינת את המקורות Ack
מחפש תצורה; כל אחד שנמצא נטען בסדר המצוין כאן, ו
כל אחת מהן עוקפת את האפשרויות המוגדרות בכל אחד מהמקורות הקודמים לה. (לדוגמה, אם אני מגדיר
--sort-files במשתמש ackrc שלי, ו--nosort-files בשורת הפקודה, שורת הפקודה
יש עדיפות)

· ברירות מחדל נטענות מ-App::Ack::ConfigDefaults. ניתן להשמיט זאת באמצעות
"-- ignore-ack-defaults".

· הערכה גלובלית

לאחר מכן, האפשרויות נטענות מה-ackrc הגלובלי. זה ממוקם ב-"/etc/ackrc" ב-
מערכות דמויות יוניקס.

תחת Windows XP ואילך, ה-ackrc נמצא ב-"C:\Documents and Settings\All
Users\Application Data\ackrc".

תחת Windows Vista/7, ה-ackrc הגלובלי נמצא ב-"C:\ProgramData"

האפשרות "--noenv" מונעת את טעינת קבצי ackrc.

· אישור משתמש

לאחר מכן, האפשרויות נטענות מה-ackrc של המשתמש. זה ממוקם ב-"$HOME/.ackrc" ב-
מערכות דמויות יוניקס.

תחת Windows XP ואילך, ה-ackrc של המשתמש נמצא ב-"C:\Documents and
הגדרות\$USER\Application Data\ackrc".

תחת Windows Vista/7, ה-ackrc של המשתמש נמצא ב- .

אם ברצונך לטעון ackrc אחר ברמת משתמש, ייתכן שהוא יצוין עם $ACKRC
משתנה הסביבה.

האפשרות "--noenv" מונעת את טעינת קבצי ackrc.

· התקנת פרויקט

לאחר מכן נטענות האפשרויות מהפרויקט ackrc. הפרויקט ackrc הוא ה-ackrc הראשון
קובץ עם השם ".ackrc" או "_ackrc", חיפוש תחילה בספרייה הנוכחית,
לאחר מכן ספריית האב, ולאחר מכן ספריית הסבים וכדומה. ניתן להשמיט זאת
באמצעות "--noenv".

· --ackrc

האפשרות "--ackrc" עשויה להיכלל בשורת הפקודה כדי לציין קובץ ackrc
יכול לעקוף את כל האחרים. זה ייעץ גם אם "--noenv" קיים.

· ACK_OPTIONS

לאחר מכן, האפשרויות נטענות ממשתנה הסביבה "ACK_OPTIONS". זה יכול להיות
הושמט באמצעות "--noenv".

· שורת פקודה

לאחר מכן נטענות האפשרויות משורת הפקודה.

הבדלים בין ACK 1.X ו ACK 2.X


בוצעו הרבה שינויים עבור ack 2; הנה רשימה שלהם.

כללי שינויים
· כאשר לא צוינו בוררים, ack 1.x מחפש רק בקבצים שהוא יכול למפות
לסוג קובץ. ack 2.x, לעומת זאת, יחפש בכל רגיל, לא בינארי
קובץ שלא מתעלם ממנו במפורש באמצעות --התעלם מקובץ or --תעלם-dir. זה
דומה להתנהגות של -א/--הכל אפשרות ב-ack 1.x.

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

· ack טוען כעת מספר קבצי ackrc; ראה "סמנטיקה של מיקום ACKRC" לפרטים.

· הגדרות המסנן המוגדרות כברירת מחדל של ack אינן מיוחדות; אתה יכול להגיד ל-ack לגמרי
תתעלם מהם אם אתה לא אוהב אותם.

הוסר אפשרויות
· בגלל השינוי בהתנהגות החיפוש המוגדרת כברירת מחדל, ה -א/--הכל ו -u/--בלתי מוגבל
אפשרויות הוסרו. בנוסף -k/--טיפוסים ידועים נוספה לאפשרות
לגרום ל-ack להתנהג עם התנהגות החיפוש המוגדרת כברירת מחדל של ack 1.x.

· -G האפשרות הוסרה. שני ביטויים רגולריים בשורת הפקודה היו
נחשב מבלבל מדי; לדמות -Gהפונקציונליות של, אתה יכול להשתמש בחדש -x
אפשרות להעביר שמות קבצים מקריאת ack אחת לאחרת.

· --בינארי האפשרות הוסרה.

· --דילג האפשרות הוסרה.

· --טֶקסט האפשרות הוסרה.

· --invert-file-match האפשרות הוסרה. במקום זאת, אתה יכול להשתמש -v עם -g.

השתנה אפשרויות
· האפשרויות שמשנות את התנהגות הביטוי הרגולרי (-i, -w, -Q, ו -v) עשוי כעת
לשמש עם -g.

נוסף אפשרויות
· --קבצים-מאת התווסף כדי שמשתמש יוכל להגיש רשימה של שמות קבצים כרשימה של
קבצים לחיפוש.

· -x התווסף כדי לומר ל-ack לקבל רשימה של שמות קבצים באמצעות קלט רגיל; רשימה זו
היא רשימת שמות הקבצים שישמשו לחיפוש.

· -s התווסף כדי להורות ל-ack לדכא הודעות שגיאה לגבי לא קיימות או בלתי קריאות
קבצים.

· --- ignore-directory ו --noignore-directory נוספו ככינויים עבור --תעלם-dir ו
--noignore-dir בהתאמה.

· --התעלם מקובץ התווסף כדי שמשתמשים יוכלו לציין דפוסים של קבצים מהם יש להתעלם מהם (לדוגמה.
/.*~$/).

· --מזבלה התווסף כדי לאפשר למשתמשים לגלות בקלות אילו אפשרויות מוגדרות היכן.

· --create-ackrc התווסף כדי שמשתמשים יוכלו ליצור קבצי ackrc מותאמים אישית על סמך ה
הגדרות ברירת המחדל נטענות על ידי ack, וכדי שמשתמשים יוכלו לראות בקלות את ברירות המחדל.

· --type-del התווסף כדי להסיר באופן סלקטיבי הגדרות של סוגי קבצים.

· --ignore-ack-defaults התווסף כדי שמשתמשים יוכלו להתעלם מאפשרויות ברירת המחדל של ack ב
טובה משלהם.

· --בָּר התווסף כך שמשתמשי ack יכולים להתייעץ עם אדמירל אקבר.

השתמש ב-ack-grepp באינטרנט באמצעות שירותי onworks.net



התוכניות המקוונות האחרונות של לינוקס ו-Windows