คำถามนี้เป็นผลสืบเนื่องของทุกคำถามก่อนหน้านี้ฉันสร้างไดเรกทอรีต่าง ๆ mkdir
นานาโดยใช้
ฉันกำลังใช้bash
เปลือก ฉันสร้างไดเรกทอรีห้าสิบรายการโดยเริ่มต้นด้วยคำนำหน้า "s" โดยใช้คำสั่ง:
mkdir $(printf "s%02i " $(seq 1 50))
ซึ่งใช้ตัวเลขเป็นศูนย์ที่สองพร้อมเลขศูนย์ นั่นคือไดเรกทอรีที่ผมได้รับเป็นของแบบฟอร์มs01
, ,s02
... ,s49
s50
ตอนนี้ฉันต้องการใช้cp
เพื่อคัดลอกไฟล์เดียว (ตัวอย่างtest.txt
) ไปยังแต่ละไดเรกทอรีห้าสิบ เป็นไปได้ไหมที่จะทำสิ่งนี้ในลักษณะที่คล้ายคลึงกับที่กล่าวมา ตัวอย่างเช่นงานต่อไปนี้จะทำงานอย่างไร ฉันค่อนข้างใหม่กับ Unix / Linux ดังนั้นฉันจึงไม่ต้องการลองนี้จนกว่าจะมีคนโปรดให้ฉันบ่งบอกว่ามันปลอดภัย
cp test.txt $ (printf "s% 02i.txt" $ (seq 1 50))
มองไปที่man
หน้าcp
นั้นดูเหมือนจะไม่cp
รองรับหลายปลายทางเช่นนี้อย่างไรก็ตาม:
NAME
cp - copy files and directories
SYNOPSIS
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
DESCRIPTION
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
Mandatory arguments to long options are mandatory for short options
too.
parallel -j1
มิฉะนั้นจะมีหนึ่งงานต่อคอร์และบนเครื่องมัลติคอร์งานจะแข่งขันเพื่อ IO