ฉันจะสร้าง 5 ไฟล์ได้อย่างง่ายดาย?


13

ฉันสามารถย้าย 5 ไฟล์ไปที่อื่นโดยใช้:

$ mv my-{1..5}.jpg /path/to/dir/

ฉันจะทำสำเนาไฟล์หนึ่งไฟล์ได้อย่างง่ายดาย 5 ครั้งได้อย่างไร

# doesn't work
$ cp my.jpg my-{1..5}.jpg

เป็นไปได้หรือไม่ที่จะไม่ใช้ a for loop?

คำตอบ:


12

ลองสิ่งนี้

for f in {1..5}; do cp my.jpg my$f.jpg; done

(ไม่มีทุบตีที่นี่เพื่อลองด้วยตัวเอง)


6
แทนที่ด้วยfor f in $f for f in $(seq 5)
Dan D.

1
เป็นไปได้หรือไม่ที่จะไม่ใช้ a for loop?
kev

@kev - ฉันเห็นมันทำแบบนี้มาตลอด ยิ่งอ่านมากขึ้น
โกง

3
@kev เกิดอะไรขึ้นกับ for loop? นี่คือสิ่งที่ลูปใช้สำหรับ ...
soandos

3
@DanD .: seqไม่จำเป็นใน Bash คุณสามารถใช้for f in {1..5}หรือfor ((f=1; f<=5; f++))
หยุดชั่วคราวจนกว่าจะมีประกาศ



3

คุณสามารถทำได้โดยไม่ต้องวนซ้ำ .. การใช้teeและ{}การขยายรั้ง

แก้ไข: (กระสุนตามความคิดเห็นของ Dennis Williamson :

สำหรับไฟล์ชื่อ "my-.jpg"

pre="my-"; suf=".jpg"
<"$pre$suf" tee "$pre"{1..5}"$suf" >/dev/null

1
ไม่จำเป็นต้องใช้ eval <"$pre$suf" tee "$pre"{1..5}"$suf"ทำงานได้ดี
หยุดชั่วคราวจนกว่าจะมีการแจ้งให้ทราบต่อไป
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.