Jump to content


Photo

another shell script question!


  • Please log in to reply
1 reply to this topic

#1 fightex

fightex

    stranger

  • Members
  • 1 posts

Posted 24 January 2004 - 02:45 PM

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

#2 texroot

texroot

    stranger

  • Members
  • 2 posts

Posted 28 February 2004 - 10:27 AM

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.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

IPB Skin By Virteq