cd to folder with spaces - in a script
Bill Davidsen
davidsen at tmr.com
Fri May 22 21:19:21 UTC 2009
Patrick O'Callaghan wrote:
> On Thu, 2009-05-21 at 19:40 +0200, Michael Casey wrote:
>> How can I cd into a dir, when it contains spaces, and I need to use it
>> in a script?
>>
>> the directory:
>> /home/user/this is a folder/something
>>
>> normally I would use:
>> cd /home/user/this\ is\ a\ folder/something/
>>
>> but in a script I cant just add the "\"
>> like:
>>
>> find . -type d | while read FOLDER; do cd $FOLDER; done
>
As noted, use double quotes.
> One way:
>
> echo "`find . -type d `" | while read FOLDER ... etc.
>
> (assumes no argument overflow in the Shell)
>
> There are bound to be other ways.
Warning, if you use xargs for similar things, use 'print0' for the find and '-0'
on the xargs:
find ~ -type f -size +50k -print0 | xargs -0 ls -s | sort -n
or similar.
--
Bill Davidsen <davidsen at tmr.com>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot
More information about the fedora-list
mailing list