קסארגס
השמיים קסארגס הפקודה מבצעת פונקציה מעניינת. הוא מקבל קלט מקלט סטנדרטי וממיר אותו לרשימת ארגומנטים עבור פקודה שצוינה. עם הדוגמה שלנו, נשתמש בה כך:
מצא ~ -סוג 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
באמצעות טכניקה זו, אנו יכולים להבטיח שכל הקבצים, אפילו אלה המכילים רווחים מוטבעים בשמותיהם, יטופלו בצורה נכונה.