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

Mat*_*upp 1 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
Run Code Online (Sandbox Code Playgroud)

这会生成错误,因为在文件扩展名后附加了日期,就像这样

file1.txt10082013

怎么避免呢?

cni*_*tar 6

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

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

cp "${FILENAME}" "/newdir/${NAME}${NOW}.${EXT}"
Run Code Online (Sandbox Code Playgroud)