-2

In the below code I am renaming a file with a date field addition to it.but the error says no such file or directory.its doing the moving operation instead of renaming it. Thanks.

#!bin/bash

cd /some/directory/name

LIST=$(ls)

for FILE in $LIST
do
 DATE=$(date +%d/%m/%y/%H:%M:%S)
 VARX=$(echo $FILE | cut - d '.' -f 1)
 VARY=$(echo $FILE | cut - d '.' -f 2)
NNAME="${VARX}""${DATE}"."${VARY}"

mv "${FILE}" "${NNAME}";
done
Overlord
  • 1
  • 2

1 Answers1

1

you missed a space when using the cut command, instaed of - d you should write -d like

#!bin/bash

cd /some/directory/name

LIST=$(ls)

for FILE in $LIST
do
 DATE=$(date +%d%m%y%H%M%S)
 VARX=$(echo $FILE | cut -d '.' -f 1)
 VARY=$(echo $FILE | cut -d '.' -f 2)
NNAME="${VARX}""${DATE}"."${VARY}"

mv "${FILE}" "${NNAME}";
done

Have a good day !

Mega
  • 21
  • 2
  • 1
    Actually I got the fix.the forward slash(/) in my date variable was causing the issue.shell was looking for a path because of the forward slash.thank you. – Overlord Nov 19 '21 at 20:48