Jump to content
Compatible Support Forums
Sign in to follow this  
fightex

another shell script question!

Recommended Posts

hi!

 

i have a dvd full of mp3 organized in \bandname\albumname\files.mp3

now i need a script which walks through this structure and creates in a dir on my hd anonymized links for example: band00x_album00x_00x

i need this for accessing the whole files from MATLAB.

The problem i have is that the directory names on the dvd contain whitespaces.

If i do

 

for mydir in $(find -type d ); do

cd $mydir

...

done

 

 

it doesnt work because $mydir contains only the first silbling of a directory name containing spaces is used. (example dirname:"alice in chains", $mydir only contains "alice")

 

how do i get the full dirname?

or should i do the whole thing in a other way?

 

thanks for help

stefan

Share this post


Link to post
Share on other sites

I do some shell scripting from time to time in my job...

 

This problem didn't seem so hard until I tried to play with it a bit...but it was. It's quite hard to read into an array or otherwise do something so that the part of the path separated by a space isn't treated as a separated path.

 

Anyway, try something like this:

 

find $PWD -type d|{

while read aline;do

cd "$aline"

do-some-commands-here...

done }

 

That's a pipe symbol "|" after the "d" and before the "{" .

 

HTH.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×