#!/bin/sh # file name : batchcp.sh # author: zhouhh # blog: http://blog.csdn.net/ablo_zhou # Email: ablozhou@gmail.com #Date : 2008.3.31 echo"input your file name" read FILENAME echo"how many times you want copy?" read TIMES echo"your file name is ${FILENAME}, you want to copy ${TIMES} times." BASE=`echo${FILENAME}|cut -d "." -f 1` EXT=`echo${FILENAME}|cut -d "." -f 2` for(( i=0;i<${TIMES};i++)) do echo"copy ${BASE}.${EXT} to ${BASE}$i.${EXT} ..." cp "${BASE}.${EXT}""${BASE}$i.${EXT}" done
另一种方式:
#!/bin/sh # file name : batchcp.sh # author: zhouhh # blog: http://blog.csdn.net/ablo_zhou # Email: ablozhou@gmail.com #Date : 2008.3.31 echo"input your file name" read FILENAME echo"how many times you want copy?" read TIMES echo"your file name is ${FILENAME}, you want to copy ${TIMES} times." #find. and cut the left part of the file name using ## EXT=${FILENAME##*.} #find. and cut the right part of the file name using % BASE=${FILENAME%.*} echo"base:$BASE" echo"ext:$EXT" for(( i=0;i<${TIMES};i++)) do echo"copy ${BASE}.${EXT} to ${BASE}$i.${EXT} ..." cp "${BASE}.${EXT}""${BASE}$i.${EXT}" done ~