如何轻松制作一个文件的 5 个副本?

kev*_*kev 13 bash

我可以使用以下方法将 5 个文件移动到某个地方:

$ mv my-{1..5}.jpg /path/to/dir/
Run Code Online (Sandbox Code Playgroud)

如何轻松地将一个文件复制 5 次

# doesn't work
$ cp my.jpg my-{1..5}.jpg
Run Code Online (Sandbox Code Playgroud)

可以不使用for loop吗?

Roo*_*ook 12

尝试这个

for f in {1..5}; do cp my.jpg my$f.jpg; done
Run Code Online (Sandbox Code Playgroud)

(这里没有 bash 自己尝试)

  • 将“for f in $f”替换为“for f in $(seq 5)”。 (6认同)
  • @kev,for 循环有什么问题?这就是 for 循环的作用... (3认同)
  • @DanD.:Bash 中不需要`seq`。您可以使用 `for f in {1..5}` 或 `for ((f=1; f<=5; f++))` (3认同)

Den*_*son 6

这是一种无需for循环且没有使用风险的方法eval

printf '%s\n' {1..5} | xargs -I {} cp my.jpg my-{}.jpg
Run Code Online (Sandbox Code Playgroud)

它仍然是一个有效的循环。


kev*_*kev 5

尝试tee

tee <my.jpg >/dev/null my-{1..5}.jpg
Run Code Online (Sandbox Code Playgroud)

或者parallel

parallel cp my.jpg ::: my-{1..5}.jpg
Run Code Online (Sandbox Code Playgroud)