我正在尝试将文件从一个目录复制到另一个目录,并将当前日期附加到此文件名。脚本看起来像这样
#!/bin/bash
echo 'Move to homedir'
cd $HOME
echo 'Copy .txt files'
NOW=$(date +"%d%m%Y")
for FILENAME in *.txt
do
cp "${FILENAME}" "/newdir/${FILENAME}${NOW}"
done
这会生成错误,因为在文件扩展名后附加了日期,例如
file1.txt10082013
如何避免?
答案 0 :(得分:6)
尝试解压扩展并重命名文件:
NAME="${FILENAME%.*}"
EXT="${FILENAME##*.}"
cp "${FILENAME}" "/newdir/${NAME}${NOW}.${EXT}"