בייַשפּיל ניצט פון די "קסאַרגס" קאַמאַנד

באַשרייַבונג און הקדמה

די קסאַרגס באַפֿעל איז typically געניצט אין אַ באַפֿעל שורה ווו דער רעזולטאַט פון איין באַפֿעל איז דורכגעגאנגען אויף ווי אַרייַנשרייַב אַרגומענטן צו אן אנדער באַפֿעל.

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

דערצו, קסאַרגס עקסאַקיוץ די ספּעסאַפייד באַפֿעל ריפּיטידלי, אויב נייטיק, צו פּראָצעס אַלע די טענות געגעבן צו עס. אין פאַקט, איר קענען ספּעציפיצירן ווי פילע אַריינמאַרקס זאָל לייענען די נאָרמאַל אַרייַנשרייַב טייַך יעדער מאָל די קסאַרגס עקסאַקיוץ די ספּעסאַפייד באַפֿעל.

אין אַלגעמיין, די באַפֿעלן באַפֿעלן איז געניצט אויב די רעזולטאַט פון איין באַפֿעל איז צו נוצן ווי טייל פון די אָפּציעס אָדער אַרגומענטן פון אַ צווייט באַפֿעל צו די דאַטן זענען סטרימד (ניצן די רער אָפּעראַטאָר "|"). רעגולער פּייפּינג איז גענוג אויב די דאַטן זענען בדעה צו זיין די (נאָרמאַל) אַרייַנשרייַב פון די רגע באַפֿעל.

פֿאַר בייַשפּיל, אויב איר נוצן די לס באַפֿעל צו דזשענערייט אַ רשימה פון טעקע נעמען און דירעקטעריז, און ריפּלייסט די רשימה אין די קסאַרגס באַפֿעלן עקסאַקיושינג עקאָו , איר קענען ספּעציפיצירן ווי פילע טעקע נעמען אָדער וועגווייַזער נעמען זענען פּראַסעסט דורך די יאָדער אויף יעדער יטעראַטיאָן ווי גייט :

ls | xargs -n 5 echo

אין דעם פאַל, ווידערקאָל נעמט פינף טעקע אָדער וועגווייַזער נעמען אין אַ צייַט. זינט די עקאָו מוסיף אַ נייַ-שורה כאַראַקטער אין די סוף, פינף נעמען זענען געשריבן אויף יעדער שורה.

אויב איר ויספירן אַ באַפֿעל אַז קערט אַ גרויס און אַנפּרידיקטאַבאַל נומער זאכן (למשל טעקע נעמען) וואָס זענען דורכגעגאנגען אויף אן אנדער באַפֿעל פֿאַר ווייַטער פּראַסעסינג עס איז אַ גוטע געדאַנק צו קאָנטראָלירן די מאַקסימום נומער פון אַרגומענטן אַז רגע באַפֿעל באקומט צו ויסמייַדן אָווערלאָאַד און קראַשינג.

די פאלגענדע באַפֿעלן שורה פּאַרטישאַנז די טייַך פון טעקע נעמען געשאפן דורך געפֿינען די גרופּעס פון 200 איידער דורכגעגאנגען צו די קפּ באַפֿעל, וואָס קאַפּיז זיי צו די באַקאַפּ Directory.

find ./ -type f -name "* .txt" -print | xargs -l200 -i cp -f {} ./backup

דער "./" עלעמענט אין דער געפינען באַפֿעל גיט די קראַנט וועגווייַזער פֿאַר זוכן. די "-טיפּ פ" אַרגומענט ריסטריקץ דעם זוכן צו טעקעס, און דער "-נאַמע" *. טקסט "פאָן פילטער אויס עפּעס וואָס טוט נישט האָבן אַ" .טקסט "געשפּרייט .- די פאָן אין קסאַרגס סיגנאַלז אַז די { } נאָטאַציע רעפּראַזענץ יעדער טעקע נאָמען פון די פּאַרע.

די פאלגענדע באַפֿעל געפונען טעקעס מיטן נאָמען האַרץ אין אָדער אונטער די Directory / טמפּ און דיליץ זיי.

געפֿינען / טמפּ-נאָמען האַרץ-טיפּ פ-דרוק | xargs / bin / rm -f

באַמערקונג אַז דאָס וועט אַרבעטן פאַלש אויב עס זענען קיין טעקע נעמען מיט נעוולינעס, איין אָדער טאָפּל קוואָטעס, אָדער ספּייסאַז. די פאלגענדע ווערסיע פּראַסעסאַז די פילענאַמעס אַזוי אַז טעקע אָדער וועגווייַזער נאָמען מיט איין אָדער טאָפּל קוואָטעס, ספּייסאַז אָדער נעוולינעס זענען ריכטיק כאַנדאַלד.

געפֿינען / טמפּ-נאָמען האַרץ-טיפּ פ-דרוק 0 | קסאַרגס -0 / בין / רם-ף

אַנשטאָט די- איך אָפּציע, איר קענען אויך נוצן די -I פאָן וואָס דער סטרינג וואָס איז ריפּלייסט דורך די אַרייַנשרייַב שורה אין די באַפֿעל אַרגומענטן ווי אין דעם בייַשפּיל:

ls dir1 | xargs -I {} -t mv dir1 / {} dir / {} / code>

די פאַרבייַטן שטריקל איז "{}". דעם מיטל, קיין פֿאַלן פון "{}" אין די באַפֿעל אַרגומענטן איז ריפּלייסט דורך די אַרייַנשרייַב עלעמענט פאָרווערדיד צו אַרגס דורך די רער אָפּעראַציע. דעם ינייבאַלז איר צו שטעלן די אַרייַנשרייַב עלעמענטן בייַ ספּעציפיש שטעלעס אין די אַרגומענטן פון די באַפֿעל צו זיין (ריפּיטידלי) עקסאַקיוטאַד.