#!/bin/bash # Recursively delete directories by age (14 days), and only exactly at the depth of the base directory #find /path/to/base/dir/ -mindepth 1 -maxdepth 1 -type d -ctime +14 -exec rm -rf {} \; # Recursively discover files in the user's home directory, older than 14 days, and delete them #find /path/to/home/dir/ -mindepth 1 -maxdepth 1 -type f -ctime +14 -exec rm -rf {} \; # Recursively discover files in the user's home directory, younger than 14 days #find /path/to/home/dir/ -mindepth 1 -maxdepth 1 -type f -ctime -14 # command for getting the filename out of a full path #basename /path/to/file.zip # Creating an array of homedirectory files younger than 14 days: young_files=() while IFS= read -r -d $'\0'; do young_files+=("$REPLY") done < <(find /home/san/ -mindepth 1 -maxdepth 1 -type f -ctime -14 -name "*.zip" -print0) # Looping over said array: for file in "${young_files[@]}"; do echo "$file" echo "$(basename "$file")" done