1

I'm trying to copy files from one directory to another and append current date to this filename. The script look like this

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

This generates an error because date is appended after file extension, like this

file1.txt10082013

How to avoid that?

4

1 回答 1

7

尝试提取扩展名并重命名文件:

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

cp "${FILENAME}" "/newdir/${NAME}${NOW}.${EXT}"
于 2013-08-10T10:08:46.567 回答