Sua pergunta não é muito clara. Se bem entendi, você deseja criar várias cópias de um arquivo, adicionando um número no final do nome, mas preservando a extensão.
#!/bin/ksh
n=$1; shift
ret=0
for file; do
# Decompose the file name to isolate the extension part
dir=$(dirname -- "$file")
file=$(basename -- "$file")
base=${file%%.*}
extension=${file#"$base"}
# Make $n copies
for ((i=1; i<=n; i++)); do
cp -- "$dir/$base$extension" "$dir/$base$i$extension" || ret=1
done
done
exit $ret
Uso (onde make-copies
é o script acima):
make-copies 10 201311261418 201311261418.eob
Você pode adicionar um separador antes do número, por exemplo,
cp -- "$dir/$base$extension" "$dir/$base-$i$extension" || ret=1
Se você deseja preencher o número com zeros para que eles tenham a mesma largura, altere o início do script para
#!/bin/ksh
n=$1; shift
start=1${n//?/0}
…
e substitua o loop interno por
for ((i=$((start+1)); i<=$((start+n)); i++)); do
cp -- "$dir/$base$extension" "$dir/$base${i#1}$extension" || ret=1
done