#!/bin/sh # file name : batchcp.sh # author: zhouhh # blog: http://blog.csdn.net/ablo_zhou # Email: [email protected] # 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: [email protected] # 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 ~