linux命令。复制文件一百次

时间:2012-10-06 06:22:37

标签: linux shell

我需要正确的语法,使用一个命令将file.jpg复制100次,以便获得 100个文件名为file001.jpg,file002.jpg,...,file100.jpg。 我正在使用它但不适合我 任何提示

#!/bin/bash

for x in `seq 1 100`; do

    if [[ x -lt 10 ]]; then cp file.jpg file-00$x.jpg;

    elif [[ x -lt 100 ]]; then cp file.jpg file-0$x.jpg;

    else cp file.jpg file-$x.jpg;

    fi

done

2 个答案:

答案 0 :(得分:15)

使用bash brace expansion

for n in {001..100}; do
    cp file.jpg file-$n.jpg
done

答案 1 :(得分:3)

在您的两个if条件中,您错过$上的$x,因此您最终会比较字符串x,而不是数字。

正如Basile Starynkevitch指出的那样,printf实用程序可能是一个更好的方法:$(printf "file-%03d.jpg" $x)在一行中为您提供正确的格式化字符串。