bash script issue
Dave Bour
dcbour-Uj1Tbf34OBsy5HIR1wJiBuOEVfOsBSGQ at public.gmane.org
Sun Aug 17 17:57:48 UTC 2014
Preface script with
IFS=$'\n'
Seen this a ton of times - spaces and white space create breaks in variable handling in a loop
Sent from my iPad
Dave Bour
Senior Consultant
Desktop Solution Center
dcbour-Uj1Tbf34OBsy5HIR1wJiBuOEVfOsBSGQ at public.gmane.org
905.381.0077
> On Aug 17, 2014, at 1:53 PM, "William Muriithi" <william.muriithi at gmail.com> wrote:
>
> Afternoon,
>
> I have a list of files that have horrible names and it is forcing me
> to improve the intelligence of a script I have been using to clean up
> the system after the images have been processed. Sample names are as
> below
>
> '004378858 (152).jpg'
> '004384040.jpg'
> '004382728.jpg'
> '004383192.jpg'
> '004375871.jpg'
> '004378858 (179).jpg'
> '004378858 (155).jpg'
> '004378858 (187).jpg'
>
>
> If i run either of the below commands on the console, it list them
> properly as above.
>
> #LIST=`find /home/wmuriithi/images/ -type f | cut -d"/" -f4| sed 's@
> @\\ @g' | sed 's@[(]@\\(@' | sed 's@[)]@\\)@'`
> #LIST=`find /home/wmuriithi/images/ -type f | cut -d"/" -f4|sed -e
> "s/.*/'&'/"`
>
> If I run it on a loop, it breaks the file name into two if the name has a space
>
> for f in $LIST;
> do
>
> mv /home/wmuriithi/images/"$f" /home/wmuriithi/archive/images/"$DATE"/
> # echo "rm $f" >> processed.list
> echo "rm $f" >> processed.list2
>
> done
>
> I get this error:
>
> mv: cannot stat `/home/wmuriithi/images/\'004378858': No such file or directory
> mv: cannot stat `/home/wmuriithi/images/(38).jpg\'': No such file or directory
> mv: cannot stat `/home/wmuriithi/images/\'004378858': No such file or directory
> mv: cannot stat `/home/wmuriithi/images/(53).jpg\'': No such file or directory
>
> Now, I am curious, why do I get different behaviours above? What's a
> better way of handling such a file name?
>
> Thanks in advance
>
> William
> --
> The Toronto Linux Users Group. Meetings: http://gtalug.org/
> TLUG requests: Linux topics, No HTML, wrap text below 80 columns
> How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists
--
The Toronto Linux Users Group. Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists
More information about the Legacy
mailing list