Hello Brian, First of all, your script will not run, you forgot a closing quote on the third line from the end.
But not to your problem. I was pounding over a similar issue recently and the solution I came up with was to replace the for loop with a while loop combined with a read command. not working: for L in `cat inputfile` do echo "the line read is: ${L}" done works fine: cat inputfile | while read L do echo "the line read is: ${L}" done Cheers, Kurt On Thu, Nov 21, 2002 at 02:10:48PM -0600, Brian Henning wrote: > Hello, > > i have a simple shell script problem. if i have a file name with a space in > the name the following script doesn't get the entire name. The for loop > conditional statement below stops for spaces or new lines... i would like it > to stop for just new lines. is there a way to do that with shell script. how > can i change the condition in the for loop to do that? > > Thanks, > brian > > input.txt > -------- > Tom Petty - Free Fallin'.mp3 > Dave Matthews.mp3 > > > size.sh > ------- > #!/bin/sh -x > # sh size.sh /smb/dc input.txt > > PATH=$1 > INPUT=$2 > > for i in `/bin/cat ${INPUT}`; do > echo "in loop" > FILE=`echo $i | /usr/bin/awk -F: '{ print $1 }'` > SIZE=`echo $i | /usr/bin/awk -F: '{ print $2 }'` > > echo "${FILE} > done > exit 0; > > > current result > ------------- > Tom > Petty > - > Free > Fallin'.mp3 > Dave > Matthews.mp3 > > > desired result > -------------- > Tom Petty - Free Fallin'.mp3 > Dave Matthews.mp3 -- ---------------------------------------------------------------------- : [EMAIL PROTECTED] http://www.pinboard.com/ business : : http://kurt.www.pinboard.com/ private : ---------------------------------------------------------------------- : Unix and Internet Specialist : : PGP fingerprint C34E BCD4 BA8B 1337 14FE 116C 2657 FFAC 08B9 BFC7 : ---------------------------------------------------------------------- To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-questions" in the body of the message