创建循环以在BASH中命名文件

时间:2015-02-18 02:30:21

标签: bash

我需要创建一个脚本,使用用户指定的名称和文件ext来创建用户指定的文件数。我的循环失败,只创建了一个文件。

#!/bin/bash

#arguements variables

file=$1
ext=$2
numFiles=$3
count=0

#for loop for 5 repetitions

while [ $3 -ge count ]; do
touch ${1}.${2}.${3}

done

echo " "$3" Files where created using the name "$1" and extension "$2" "

3 个答案:

答案 0 :(得分:2)

要创建名称为count且扩展名为file且后缀为1到ext的{​​{1}}个文件,请尝试:

count

答案 1 :(得分:1)

没有必要指定扩展名,您可以使用shell parameter extension。您还可以使用for loop with index

#! /bin/bash
FILE_NAME=$1
NUM_OF_FILES=$2 || 0
for ((IDX=0; IDX < NUM_OF_FILES; IDX+=1)) ; do
    # for fname.tar.gz result is fname0.tar.gz, fname1.tar.gz, ...
    touch "${FILE_NAME%%.*}$IDX.${FILE_NAME#*.}"
done

答案 2 :(得分:0)

你忘了增加数量。试试这个:

#arguements variables

file=$1
ext=$2
numFiles=$3
count=0

#for loop for 5 repetitions

while [ ${numFiles} -ge ${count} ]; do
    touch ${1}.${2}.${count}
    let "count+=1"
done

echo " "$3" Files where created using the name "$1" and extension "$2" "