bash script issue

Dave Bour dcbour-Uj1Tbf34OBsy5HIR1wJiBuOEVfOsBSGQ at public.gmane.org
Sun Aug 17 18:00:34 UTC 2014


Also, seeing brackets on file names, may want to put quotes around the variable. Remember to use to \" rather than " by itself if echoing out to a script file too


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:57 PM, "Dave  Bour" <dcbour at desktopsolutioncenter.ca> wrote:
> 
> 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