Jump to content
Compatible Support Forums
Sign in to follow this  

another shell script question!

Recommended Posts



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





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


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"


done }


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



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