
我可以使用以下方法將 5 個檔案移動到某個地方:
$ mv my-{1..5}.jpg /path/to/dir/
如何輕鬆將一個檔案複製 5 次
# doesn't work
$ cp my.jpg my-{1..5}.jpg
可以不使用a嗎for loop
?
答案1
嘗試這個
for f in {1..5}; do cp my.jpg my$f.jpg; done
(這裡沒有bash,自己試試看)
答案2
for
這是一種沒有循環且沒有使用風險的方法eval
:
printf '%s\n' {1..5} | xargs -I {} cp my.jpg my-{}.jpg
它實際上仍然是一個循環。
答案3
嘗試tee
:
tee <my.jpg >/dev/null my-{1..5}.jpg
或者parallel
:
parallel cp my.jpg ::: my-{1..5}.jpg
答案4
您可以在沒有循環的情況下完成它..使用tee
大{}
括號擴展。
編輯:(修改為根據丹尼斯威廉森的評論:
對於名為“my-.jpg”的文件
pre="my-"; suf=".jpg"
<"$pre$suf" tee "$pre"{1..5}"$suf" >/dev/null