title: How to grave the Date from this command in bash script
body: <pre><code>!/bin/bash
  
  # When a match is not found, just present nothing.
  shopt -s nullglob
  
  # Match all .wav files containing the date format.
  files=(*[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]*.wav)
  
  if [[ ${#files[@]} -eq 0 ]]; then
  echo "No match found."
  fi
  
  for file in "${files[@]}"; do
  # We get the date part by part
  file_date=''
  # Sleep it to parts.
  IFS="-." read -ra parts &lt;&lt;&lt; "$file"
  for t in "${parts[@]}"; do
          # Break from the loop if a match is found
      if [[ $t == [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ]]; then
          file_date=$t
          break
      fi
  done
  # If a value was not assigned, then show an error message and continue to the next file.
  # Just making sure there is nothing in Array and date before it moves on
  if [[ -z $file_date ]]; then
  
      continue
  fi
  
  file_year=${file_date:0:4}
  file_month=${file_date:4:2}
  
  
  
  
  mkdir -p "$file_year/$file_month"
  
  # -- is just there to not interpret filenames starting with - as options.
  
  echo "Moving: ./"$file "to: " "./"$file_year"/"$file_month
  mv  "$file" "$file_year/$file_month"
  done
  </code></pre>
  
  <p>Now there are files I would need to do the date to gra the date and then move it like I do now. for example there is a file called meetme.. its a wav file and I have DIR with YYYY/MM and would like to move thoses files without YYYYMMDD in file name already</p>