質問

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?

役に立ちましたか?

解決

Try extracting the extension and renaming the file:

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

cp "${FILENAME}" "/newdir/${NAME}${NOW}.${EXT}"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top