title: linux shell - check today's file, if today's upload it on hdfs if not today's do not upload. give a message that file already exist
body: <p>I want to check if a directory in created on today's date. If it does then upload it on HDFS but if the modifying date of the dierectory is different then output as that directory already copied on HDFS.</p>
  
  <pre><code>#!/bin/sh
  export DATA_PATH=/data/1/sanket
  #We will enter the directory where we want to check other directories
  cd $DATA_PATH
  
  #Details of directories will be transfered into no_of_files.txt
  ls -lh $DATA_PATH/ &gt;&gt; temp/no_of_files.txt
  
  #We will extract name of the file from above file.
  nameoffile=$(awk '{print $9}' temp/no_of_files.txt)
  
  #Now we want today's date.
  echo $(date) &gt;&gt; temp/date.txt
  
  #So the modifying date and todays date will be copied to a variable.
  filedate=$(awk '{print $6 $7}' temp/no_of_files.txt)
  todaydate=$(awk '{print $2 $3}' temp/date.txt)
  
  export "nameoffile"
  export "filedate"
  export "todaydate"
  
  rm -fr $DATA_PATH/temp/no_of_files.txt
  rm -fr $DATA_PATH/temp/name_of_files.txt
  rm -fr $DATA_PATH/temp/date.txt
  
  #Directory on HDFS where we want to copy data    
  path=sanket_data
  
  #First to check that modifying date of directory and today's date to match and if so
  #then copy the data on HDFS, if they dont match then give error as file already copied.
  
  if [[ "$filedate" == "$todaydate" ]]; then
  for filename in $nameoffile; do
      #path=sanket_data
      #nameoffile=$(awk '{print $9}' temp/no_of_files.txt)
      #for filename in $nameoffile
      /usr/bin/hadoop fs -put $DATA_PATH/$filename /user/sanket/$path
      #echo $filename already copied!
      done
  elif [[ "$filedate" != "$todaydate" ]]; then
  
      #/usr/bin/hadoop fs -put $DATA_PATH/$filename /user/sanket/$path
      echo $filename already copied!
      #hdfs dfs -put $filename /user/sanket/$path
  fi
  </code></pre>