Frage

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?

War es hilfreich?

Lösung

Try extracting the extension and renaming the file:

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

cp "${FILENAME}" "/newdir/${NAME}${NOW}.${EXT}"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top