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