Read file name based on date

Hi,

I have file name as Example

extract_ces_v3_p044444rlt_20160514045705.txt.pgp
extract_ces_v3_p044444rlt_20160614049705.txt.pgp
extract_ces_v3_p044444rlt_20160714046705.txt.pgp

I have to read file name based on date(i.e) files with same date and copy to another directory in shell script.

Thanks,
Caba.

Hello caba_jones ,

I have a few to questions pose in response first:-

  • What have you tried so far?
  • What output/errors do you get?
  • What OS and version are you using?

Most importantly, What have you tried so far?

There are probably many ways to achieve most tasks, so giving us an idea of your style and thoughts will help us guide you to an answer most suitable to you so you can adjust it to suit your needs in future.

We're all here to learn and getting the relevant information will help us all.

Kind regards,
Robin

i tried to extract the date using the below code but not able to,can you please check

#Script for copying files from src to dest based on same date and time
#!/bin/bash

#Script Variables
SPATH="/remote/home/folder1"
DPATH="/remote/home/folder2"
SUFFIX_ARG="*.txt"
ACTION_TIME=`date +'%Y%m%d' "%H:%M:%S:"`


echo "${ACTION_TIME} Starting copy task" 
find ${SPATH} -type f -name "${SUFFIX_ARG}" -print | while read path
do
   FN="${path##*/}" #extract the file name from the path
   temp=${FN#*_} 
  date=${temp%.txt.pgp} # trying to get the date alone 
   echo "this is the file name"$FN 
   ACTION_TIME=`date +"%Y%m%d %T"`
     if [ -e "${DPATH}/${FN}" ]   #if the destination file exists, skip it
   then
      echo "${ACTION_TIME} Skipped: File ${DPATH}/${FN} already exist"  
   else
      
	   cp "$path" "${DPATH}/${FN} ${ACTION_TIME}"  
	   ACTION_TIME=`date +"['%y%m%d' %T]:"`
	   echo "${ACTION_TIME} Copy ${FN} to ${DPATH} Complete"  
   fi
   echo "done copy"
done

Some comments (not necessarily in severity order or order of appearance):

  • consider refraining from using variables named close to PATH (essential system variable for your session; used to locate commands!) so you don't mess up your session by accident.
  • your first ACTION_TIME assignment has a syntax error in the date command.
  • giving variables ( date ) identical names to commands may lead to confusion.
  • what do you create the date variable for in the first place?
  • consider using the recommended $(...) notation in lieu of the deprecated `...` for "command substitution".
  • your find command won't find any of the files quoted in post#1 as the pattern in SUFFIX_ARG doesn't match.
  • the test for existence is for a different file than the one actually copied, so probably pointless.

On top, the specification in post#1 is sparse by itself, and it is not improved by your second post. Why don't you take a step back, start over, and present your problem in a decent, precise, detailed way supported by samples?