I have written a shell script which picks all the files recursively inside all the directories and prepared a report with the file last modified, size. The problem that I am fac
You're probably trying to use something like for file in $(command)
. Instead, use a while read
loop or a for
loop with globbing. Make sure you quote variables that contain filenamess.
#!/bin/sh
command | while read -r file
do
something_with "$file"
done
or, in shells that support process substitution:
#!/bin/bash
while read -r file
do
something_with "$file"
done < <(command)
If you're simply iterating over a list of files:
for file in "$dir"/*
do
something_with "$file"
done
Just put the file name variable between double quotes "$FILENAME"
Google Search led me to this page