OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

קסארגס

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


מצא ~ -סוג f -שם 'foo*' -הדפס | xargs ls -l

מצא ~ -סוג f -שם 'foo*' -הדפס | xargs ls -l


-rwxr-xr-x 1 אני

-רוו-ר--ר-- 1 אני

-rwxr-xr-x 1 אני

-רוו-ר--ר-- 1 אני


תמונה

me 224 2007-10-29 18:44 /home/me/bin/foo

me 224 2007-10-29 18:44 /home/me/bin/foo

me

me

0 2016-09-19 12:53 /home/me/foo.txt

0 2016-09-19 12:53 /home/me/foo.txt

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


תמונה

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

--אפשרות הצגת מגבלות.


תמונה


תמונה

התמודדות עם שמות קבצים מצחיקים

מערכות דמויות יוניקס מאפשרות רווחים מוטבעים (ואפילו שורות חדשות!) בשמות קבצים. זה גורם לבעיות עבור תוכניות כמו קסארגס הבונים רשימות ארגומנטים עבור תוכניות אחרות. רווח מוטבע יטופל כמפריד, והפקודה שתתקבל תפרש כל מילה מופרדת ברווח כארגומנט נפרד. כדי להתגבר על זה, למצוא ו קסארגס לאפשר שימוש אופציונלי ב-a דמות אפסית כמפריד טיעונים. תו ריק מוגדר ב-ASCII כתו המיוצג על ידי המספר אפס (בניגוד, למשל, תו הרווח, המוגדר ב-ASCII כתו המיוצג על ידי המספר 32). ה למצוא הפקודה מספקת את הפעולה -הדפס0, אשר מייצר פלט מופרד אפס, ואת קסארגס לפקודה יש ​​את --ריק אפשרות, המקבלת קלט מופרד אפס. הנה דוגמה:

מצא ~ -iname '*.jpg' -print0 | xargs --null ls -l

באמצעות טכניקה זו, אנו יכולים להבטיח שכל הקבצים, אפילו אלה המכילים רווחים מוטבעים בשמותיהם, יטופלו בצורה נכונה.


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: