如何从dir复制文件并将日期附加到文件名?

时间:2013-08-10 10:04:09

标签: linux bash date cp

我正在尝试将文件从一个目录复制到另一个目录,并将当前日期附加到此文件名。脚本看起来像这样

#!/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

如何避免?

1 个答案:

答案 0 :(得分:6)

尝试解压扩展并重命名文件:

NAME="${FILENAME%.*}"
EXT="${FILENAME##*.}"

cp "${FILENAME}" "/newdir/${NAME}${NOW}.${EXT}"