ถ้าคุณต้องการxargs
ที่จะไม่สนใจคำพูดหนึ่งใน soultion ดีสามารถใช้xargs
ธงxargs -0
โดยตรงจากตัวเลือกหน้าคน
ตัวเลือก -0, - เป็นศูนย์
ไอเท็มอินพุตถูกยกเลิกด้วยอักขระ null แทนช่องว่างและเครื่องหมายคำพูดและแบ็กสแลชไม่ได้เป็นพิเศษ (ทุกตัวอักษรถูกใช้อย่างแท้จริง) ปิดใช้งานจุดสิ้นสุดไฟล์สตริงซึ่งถือว่าเหมือนกับอาร์กิวเมนต์อื่น ๆ มีประโยชน์เมื่อรายการอินพุตอาจมีช่องว่างเครื่องหมายคำพูดหรือแบ็กสแลช ตัวเลือก GNU find -print0 สร้างการป้อนข้อมูลที่เหมาะสมสำหรับโหมดนี้
ฉันได้ตรวจสอบระบบ GNU ว่าการตั้งค่าตัวคั่นเป็นค่าเฉพาะ (เช่นบรรทัดใหม่) ด้วย-d
ตัวเลือก (และไม่ใช่แค่-0
) จะทำให้xargs
ไม่รักษาคำพูด ฯลฯ เป็นพิเศษ:
-bash-4.3$ { echo "a'b'c"; echo d; } | xargs -d$'\n' echo
a'b'c d
-bash-4.3$ rpm -qf "$(which xargs)"
findutils-4.6.0.0.99.11a05-alt1.x86_64
-bash-4.3$ { echo "a'b'c"; echo d; } | xargs echo
abc d
-bash-4.3$
xargs
คำพูดถือว่าและเครื่องหมายพิเศษเป็นส่วนหนึ่งของข้อมูลจำเพาะ โพสต์สิ่งที่คุณพยายามทำxargs
แทน