นี่คือคำสั่ง xargs ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
xargs - สร้างและรันบรรทัดคำสั่งจากอินพุตมาตรฐาน
เรื่องย่อ
xargs [-0prtx] [-E eof-str] [-e[eof-str---อ๊อฟ[=eof-str---โมฆะ] [-d ตัวคั่น]
[--ตัวคั่น ตัวคั่น] [-I แทนที่-str] [-i[แทนที่-str---แทนที่[=แทนที่-str]]
[-l[เส้นสูงสุด--L เส้นสูงสุด] [--เส้นสูงสุด[=เส้นสูงสุด--n max-args] [--max-หาเรื่อง=สูงสุด-
args] [-s อักขระสูงสุด] [--max-ตัวอักษร=อักขระสูงสุด] [-P แม็กซ์-procs] [--max-procs=แม็กซ์-procs]
[--กระบวนการสล็อต-var=ชื่อ] [--เชิงโต้ตอบ] [--รายละเอียด] [--ออก] [--no-รัน-ถ้า-ว่าง]
[--arg-ไฟล์=ไฟล์] [--แสดงขีดจำกัด] [--รุ่น] [--ช่วยด้วย] [คำสั่ง [อาร์กิวเมนต์เบื้องต้น]]
DESCRIPTION
หน้าคู่มือนี้จัดทำเอกสารเวอร์ชัน GNU ของ xargs. xargs อ่านรายการจากมาตรฐาน
อินพุตคั่นด้วยช่องว่าง (ซึ่งสามารถป้องกันด้วยเครื่องหมายคำพูดคู่หรือเดี่ยวหรือa
แบ็กสแลช) หรือขึ้นบรรทัดใหม่และดำเนินการ คำสั่ง (ค่าเริ่มต้นคือ /bin/เสียงสะท้อน) หนึ่งครั้งหรือมากกว่า
กับใด ๆ อาร์กิวเมนต์เบื้องต้น ตามด้วยรายการที่อ่านจากอินพุตมาตรฐาน บรรทัดว่างบน
อินพุตมาตรฐานจะถูกละเว้น
บรรทัดคำสั่งสำหรับ คำสั่ง ถูกสร้างจนถึงขีดจำกัดที่ระบบกำหนด (เว้นแต่
-n และ -L ใช้ตัวเลือก) ที่ระบุ คำสั่ง จะถูกเรียกหลายครั้งเท่า
จำเป็นต้องใช้รายการอินพุตจนหมด โดยทั่วไปจะมีน้อย
คำวิงวอนของ คำสั่ง กว่าที่มีรายการในการป้อนข้อมูล ซึ่งปกติจะมี
ประโยชน์ด้านประสิทธิภาพที่สำคัญ คำสั่งบางคำสั่งสามารถดำเนินการแบบคู่ขนานได้เช่นกัน
ดู -P ตัวเลือก
เนื่องจากชื่อไฟล์ Unix สามารถมีช่องว่างและขึ้นบรรทัดใหม่ การทำงานเริ่มต้นนี้มักจะ
ปัญหา; ชื่อไฟล์ที่มีช่องว่างและ/หรือขึ้นบรรทัดใหม่ถูกประมวลผลอย่างไม่ถูกต้องโดย
xargs. ในสถานการณ์เหล่านี้ ควรใช้ -0 ตัวเลือกซึ่งป้องกันเช่น
ปัญหา. เมื่อใช้ตัวเลือกนี้ คุณจะต้องแน่ใจว่าโปรแกรมที่สร้าง
อินพุตสำหรับ xargs ยังใช้อักขระ null เป็นตัวคั่นด้วย หากโปรแกรมนั้นคือ GNU
พบ ตัวอย่างเช่น -พิมพ์0 ตัวเลือกนี้ทำเพื่อคุณ
หากการเรียกใช้คำสั่งใด ๆ ออกจากสถานะ 255 xargs จะหยุดทันที
โดยไม่ต้องอ่านข้อมูลใดๆ เพิ่มเติม มีการออกข้อความแสดงข้อผิดพลาดบน stderr เมื่อสิ่งนี้
ที่เกิดขึ้น
OPTIONS
-0, --โมฆะ
รายการอินพุตสิ้นสุดด้วยอักขระ null แทนที่จะเป็นช่องว่าง และ
เครื่องหมายคำพูดและแบ็กสแลชไม่ได้พิเศษ (อักขระทุกตัวใช้ตามตัวอักษร)
ปิดใช้งานส่วนท้ายของสตริงไฟล์ ซึ่งถือว่าเหมือนกับอาร์กิวเมนต์อื่นๆ มีประโยชน์
เมื่อรายการที่ป้อนอาจมีช่องว่าง เครื่องหมายคำพูด หรือแบ็กสแลช GNU
find -print0 ตัวเลือกสร้างอินพุตที่เหมาะสมกับโหมดนี้
-a ไฟล์, --arg-ไฟล์=ไฟล์
อ่านรายการจาก ไฟล์ แทนอินพุตมาตรฐาน หากคุณใช้ตัวเลือกนี้ stdin
ยังคงไม่เปลี่ยนแปลงเมื่อรันคำสั่ง มิฉะนั้น stdin จะถูกเปลี่ยนเส้นทางจาก
/ dev / null.
--ตัวคั่น=เดลิม, -d เดลิม
รายการที่ป้อนจะสิ้นสุดลงโดยอักขระที่ระบุ ตัวคั่นที่ระบุอาจ
เป็นอักขระตัวเดียวหนีอักขระสไตล์ C เช่น \n, หรือฐานแปด or
รหัสหลีกเลขฐานสิบหก รหัส Escape เลขฐานแปดและเลขฐานสิบหกเป็นที่เข้าใจกันว่าสำหรับ
printf สั่งการ. ไม่รองรับอักขระหลายไบต์ เมื่อประมวลผล
อินพุต คำพูด และแบ็กสแลชไม่ใช่สิ่งพิเศษ ทุกตัวอักษรในอินพุตจะถูกนำมา
อย่างแท้จริง. NS -d ตัวเลือกปิดการใช้งานสตริงท้ายไฟล์ใด ๆ ซึ่งถือว่าเหมือน
อาร์กิวเมนต์อื่นใด คุณสามารถใช้ตัวเลือกนี้เมื่ออินพุตประกอบด้วยเพียง
รายการที่คั่นด้วยบรรทัดใหม่ แม้ว่าการออกแบบโปรแกรมของคุณจะดีกว่าเกือบทุกครั้งก็ตาม
ใช้ --โมฆะ ที่เป็นไปได้
-E eof-str
ตั้งค่าจุดสิ้นสุดของสตริงไฟล์เป็น eof-str. หากจุดสิ้นสุดของสตริงไฟล์เกิดขึ้นเป็นบรรทัด
ของอินพุต ส่วนที่เหลือของอินพุตจะถูกละเว้น ถ้าไม่ใช่ -E ไม่ -e ถูกใช้ไม่มีสิ้นสุด
ของไฟล์สตริงถูกใช้
-e[eof-str], --อ๊อฟ[=eof-str]
ตัวเลือกนี้เป็นคำพ้องความหมายสำหรับ -E ตัวเลือก ใช้ -E แทน เพราะมันคือ POSIX
สอดคล้องในขณะที่ตัวเลือกนี้ไม่ ถ้า eof-str ถูกละเว้นไม่มีจุดสิ้นสุดของไฟล์
สตริง ถ้าไม่ใช่ -E ไม่ -e ถูกใช้ไม่มีการใช้จุดสิ้นสุดของสตริงไฟล์
-I แทนที่-str
แทนที่เหตุการณ์ของ แทนที่-str ในอาร์กิวเมนต์เริ่มต้นที่มีชื่ออ่านจาก
อินพุตมาตรฐาน นอกจากนี้ ช่องว่างที่ไม่ได้ใส่เครื่องหมายอัญประกาศจะไม่ยุติรายการอินพุต แทน
ตัวคั่นคืออักขระขึ้นบรรทัดใหม่ หมายถึง -x และ -L 1.
-i[แทนที่-str], --แทนที่[=แทนที่-str]
ตัวเลือกนี้เป็นคำพ้องความหมายสำหรับ -Iแทนที่-str if แทนที่-str ระบุไว้ ถ้า
แทนที่-str อาร์กิวเมนต์หายไปผลเหมือนกับ -I{}. ตัวเลือกนี้คือ
เลิกใช้; ใช้ -I แทน.
-L เส้นสูงสุด
ใช้มากที่สุด เส้นสูงสุด บรรทัดอินพุตที่ไม่ว่างเปล่าต่อบรรทัดคำสั่ง ช่องว่างต่อท้ายสาเหตุ
บรรทัดอินพุตที่จะดำเนินต่อไปตามตรรกะในบรรทัดอินพุตถัดไป หมายถึง -x.
-l[เส้นสูงสุด], --เส้นสูงสุด[=เส้นสูงสุด]
คำพ้องความหมายสำหรับ -L ตัวเลือก. ไม่เหมือน -Lที่ เส้นสูงสุด อาร์กิวเมนต์เป็นทางเลือก ถ้า สูงสุด-
เส้น ไม่ได้ระบุไว้ ค่าเริ่มต้นคือหนึ่ง NS -l ตัวเลือกถูกเลิกใช้ตั้งแต่ the
มาตรฐาน POSIX ระบุ -L แทน.
-n max-args, --max-หาเรื่อง=max-args
ใช้มากที่สุด max-args อาร์กิวเมนต์ต่อบรรทัดคำสั่ง น้อยกว่า max-args ข้อโต้แย้ง
จะใช้ถ้าขนาด (ดู -s เกินตัวเลือก) เว้นแต่ -x ตัวเลือกที่
ให้ซึ่งในกรณีนี้ xargs จะ ทางออก
-P แม็กซ์-procs, --max-procs=แม็กซ์-procs
วิ่งขึ้นไป แม็กซ์-procs กระบวนการในแต่ละครั้ง ค่าเริ่มต้นคือ 1. if แม็กซ์-procs เป็น 0,
xargs จะรันกระบวนการให้มากที่สุดเท่าที่เป็นไปได้ในแต่ละครั้ง ใช้ -n หรือตัวเลือก
-L ตัวเลือกด้วย -P; มิฉะนั้น โอกาสคือจะมีการดำเนินการเพียงคนเดียว ในขณะที่
xargs กำลังทำงาน คุณสามารถส่งกระบวนการสัญญาณ SIGUSR1 เพื่อเพิ่มจำนวน
ของคำสั่งให้ทำงานพร้อมกัน หรือ SIGUSR2 เพื่อลดจำนวน คุณไม่สามารถ
เพิ่มให้สูงกว่าขีดจำกัดที่กำหนดไว้ในการนำไปปฏิบัติ (ซึ่งแสดงด้วย --show-
ขีดจำกัด) คุณไม่สามารถลดลงต่ำกว่า 1 xargs ไม่เคยยุติคำสั่ง;
เมื่อถูกขอให้ลดลงก็เพียงรอคำสั่งที่มีอยู่มากกว่าหนึ่งคำสั่งเพื่อ
สิ้นสุดก่อนที่จะเริ่มอีก
กรุณา หมายเหตุ ว่ามันขึ้นอยู่กับกระบวนการที่เรียกว่าการจัดการแบบขนานอย่างเหมาะสม
การเข้าถึงทรัพยากรที่ใช้ร่วมกัน ตัวอย่างเช่น หากพยายามพิมพ์มากกว่าหนึ่งตัว
stdout นั้น ouptut จะถูกผลิตในลำดับที่ไม่แน่นอน (และมีแนวโน้มมาก
ปะปนกัน) เว้นแต่กระบวนการจะร่วมมือกันในทางใดทางหนึ่งเพื่อป้องกันสิ่งนี้ ใช้บางอย่าง
แบบแผนล็อคเป็นวิธีหนึ่งในการป้องกันปัญหาดังกล่าว โดยทั่วไปแล้ว การใช้ a
รูปแบบการล็อคจะช่วยให้มั่นใจถึงผลลัพธ์ที่ถูกต้อง แต่ลดประสิทธิภาพ ถ้าคุณ
ไม่อยากทนกับความต่างของประสิทธิภาพ แค่จัดการแต่ละกระบวนการ
เพื่อสร้างไฟล์เอาต์พุตแยกต่างหาก (หรือใช้ทรัพยากรแยกต่างหาก)
-NS, --เชิงโต้ตอบ
แจ้งให้ผู้ใช้ทราบว่าจะเรียกใช้บรรทัดคำสั่งแต่ละบรรทัดและอ่านบรรทัดจาก . หรือไม่
เทอร์มินัล. เรียกใช้บรรทัดคำสั่งเฉพาะเมื่อการตอบสนองเริ่มต้นด้วย 'y' หรือ 'Y'
หมายถึง -t.
--กระบวนการสล็อต-var=ชื่อ
ตั้งค่าตัวแปรสภาพแวดล้อม ชื่อ เป็นค่าที่ไม่ซ้ำกันในแต่ละกระบวนการลูกที่ทำงานอยู่
ค่าจะถูกนำกลับมาใช้ใหม่เมื่อโปรเซสลูกออก สามารถใช้ในเบื้องต้นได้
รูปแบบการกระจายโหลดเช่น
-NS, --no-รัน-ถ้า-ว่าง
ถ้าอินพุตมาตรฐานไม่มี nonblank อย่ารันคำสั่ง
โดยปกติ คำสั่งจะทำงานเพียงครั้งเดียวแม้ว่าจะไม่มีอินพุตก็ตาม ตัวเลือกนี้คือ GNU
การขยาย.
-s อักขระสูงสุด, --max-ตัวอักษร= อักขระสูงสุด
ใช้มากที่สุด อักขระสูงสุด อักขระต่อบรรทัดคำสั่ง รวมทั้งคำสั่งและ
อาร์กิวเมนต์เริ่มต้นและค่า null ที่สิ้นสุดที่ส่วนท้ายของสตริงอาร์กิวเมนต์
ค่าสูงสุดที่อนุญาตขึ้นอยู่กับระบบ และคำนวณเป็นอาร์กิวเมนต์
จำกัดความยาวสำหรับ exec, ลดขนาดสภาพแวดล้อมของคุณ, น้อยกว่า 2048 ไบต์ของ
ส่วนหัว หากค่านี้มากกว่า 128KiB จะใช้ 128KiB เป็นค่าเริ่มต้น
มิฉะนั้น ค่าเริ่มต้นจะเป็นค่าสูงสุด 1KiB คือ 1024 ไบต์ xargs
ปรับให้เข้ากับข้อจำกัดที่เข้มงวดขึ้นโดยอัตโนมัติ
--แสดงขีดจำกัด
แสดงขีดจำกัดความยาวบรรทัดคำสั่งที่กำหนดโดย operation
ระบบ xargs' เลือกขนาดบัฟเฟอร์และ -s ตัวเลือก. ไปป์อินพุตจาก
/ dev / null (และอาจระบุ --no-รัน-ถ้า-ว่าง) ถ้าคุณไม่ต้องการ xargs ที่ต้องทำ
สิ่งใด
-NS, --รายละเอียด
พิมพ์บรรทัดคำสั่งบนเอาต์พุตข้อผิดพลาดมาตรฐานก่อนดำเนินการ
-NS, --ออก
ออกถ้าขนาด (ดูที่ -s เกินตัวเลือก)
--ช่วยด้วย พิมพ์สรุปตัวเลือกไปที่ xargs และออก
--รุ่น
พิมพ์หมายเลขเวอร์ชันของ xargs และออก
ตัวอย่าง
พบ / Tmp -แยม แกน ประเภท f -พิมพ์ | xargs /ถัง/rm -f
ค้นหาไฟล์ชื่อ แกน ในหรือใต้ไดเรกทอรี / Tmp และลบออก โปรดทราบว่าสิ่งนี้จะ
ทำงานไม่ถูกต้องหากมีชื่อไฟล์ที่มีการขึ้นบรรทัดใหม่หรือเว้นวรรค
พบ / Tmp -แยม แกน ประเภท f -พิมพ์0 | xargs -0 /ถัง/rm -f
ค้นหาไฟล์ชื่อ แกน ในหรือใต้ไดเรกทอรี / Tmp และลบออก ประมวลผลชื่อไฟล์
เพื่อให้ชื่อไฟล์หรือไดเร็กทอรีที่มีช่องว่างหรือขึ้นบรรทัดใหม่ถูกต้อง
จัดการ
พบ / Tmp -ความลึก -แยม แกน ประเภท f -ลบ
ค้นหาไฟล์ชื่อ แกน ในหรือใต้ไดเรกทอรี / Tmp และลบออกแต่มีประสิทธิภาพมากขึ้น
กว่าในตัวอย่างที่แล้ว (เพราะเราเลี่ยงความจำเป็นต้องใช้ ส้อม(2) และ exec(2) ถึง
เปิดตัว rm และเราไม่ต้องการสิ่งพิเศษ xargs กระบวนการ).
ตัด -d: -f1 < / etc / passwd | ประเภท | xargs เสียงสะท้อน
สร้างรายชื่อผู้ใช้ทั้งหมดในระบบอย่างย่อ
xargs sh -c 'emacs "$@" < /dev/tty' emacs
เปิดตัวจำนวนสำเนาขั้นต่ำของ Emacs ที่จำเป็น ทีละชุดเพื่อแก้ไข
ไฟล์ที่ระบุไว้ใน xargs' อินพุตมาตรฐาน ตัวอย่างนี้มีผลเช่นเดียวกับ BSD's -o
แต่ในรูปแบบที่คล่องตัวและพกพาสะดวกยิ่งขึ้น
EXIT สถานภาพ
xargs ออกโดยมีสถานะดังต่อไปนี้:
0 ถ้าสำเร็จ
123 หากการเรียกใช้คำสั่งใด ๆ ออกจากสถานะ 1-125
124 ถ้าคำสั่งออกโดยมีสถานะ 255
125 ถ้าคำสั่งถูกฆ่าโดยสัญญาณ
126 ถ้าไม่สามารถรันคำสั่งได้
127 หากไม่พบคำสั่ง
1 หากเกิดข้อผิดพลาดอื่นๆ
เชลล์ใช้รหัสทางออกที่มากกว่า 128 เพื่อระบุว่าโปรแกรมเสียชีวิตเนื่องจากa
สัญญาณร้ายแรง
มาตรฐาน ความสอดคล้อง
สำหรับ GNU xargs เวอร์ชัน 4.2.9 พฤติกรรมเริ่มต้นของ xargs คือการไม่มีตรรกะ
เครื่องหมายท้ายไฟล์ POSIX (IEEE Std 1003.1, 2004 Edition) อนุญาตสิ่งนี้
ตัวเลือก -l และ -i ปรากฏในมาตรฐาน POSIX เวอร์ชัน 1997 แต่ไม่ปรากฏขึ้น
ในรุ่นมาตรฐานปี 2004 ดังนั้นคุณควรใช้ -L และ -I แทน
ตามลำดับ
มาตรฐาน POSIX อนุญาตให้การใช้งานมีการจำกัดขนาดของอาร์กิวเมนต์ที่
exec ฟังก์ชั่น. ขีด จำกัด นี้อาจต่ำถึง 4096 ไบต์รวมทั้งขนาดของ
สิ่งแวดล้อม. สำหรับสคริปต์ที่จะพกพาได้ สคริปต์นั้นต้องไม่พึ่งพาค่าที่มากกว่า อย่างไรก็ตาม,
ฉันรู้ว่าไม่มีการนำไปใช้จริงซึ่งมีขีดจำกัดเพียงเล็กน้อย NS --แสดงขีดจำกัด ตัวเลือก
สามารถใช้เพื่อค้นหาขีดจำกัดที่แท้จริงที่บังคับใช้กับระบบปัจจุบัน
ใช้ xargs ออนไลน์โดยใช้บริการ onworks.net