【问题标题】:linux command . Copy a file one hundred timeslinux命令。复制文件一百次
【发布时间】:2012-10-06 06:22:36
【问题描述】:

我需要正确的语法来使用一个命令复制 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

【问题讨论】:

  • 您可以使用$(printf "file-%03d.jpg" $x) 来获取文件名。

标签: linux shell


【解决方案1】:

使用 bash brace expansion

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 如果使用算术比较,可以省略$ -- if (( x < 10 )); then ...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 2022-01-26
    • 1970-01-01
    • 2015-06-27
    • 2014-02-25
    相关资源
    最近更新 更多