BASH - Directories - Loop Through Files in a Directory Recursively

find is one of the best commands to find files that satisfy specific criteria.

find . -type f -print0

NOTE: This will display a list of all relative file paths.

  • dot(.) specifies to find files in our present working directory.
  • -type f to specify that we want to search for only files and not directories.
  • -print0 will use a null byte to delimit the filenames it prints.

for i in $(find . -type f -print0)
do
  # code to perform task on each file.
done