Re: OT: shell scripting problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 17 May 2005 16:55, linux.whiz@xxxxxxxxx wrote:
> My brain is fried.  I know there is a simple answer to this but I'm
> drawing a blank.  I want to run a script against the contents of a
> text file.  The text file is just my users' first name, middle initial
> and last name like this:
>
> John A Smith
> Mary P James
> Sally R Jones
> Fred Q Davis
>
> What I want to do is for each user in this file, run a script.  I
> tried to do this:
>
> for i in `cat textfile`; do
>   myscript.sh $i
> done
>
> I expect this to run like this:
>
> myscript.sh John A Smith
> myscript.sh Mary P James
> myscript.sh Sally R Jones
> myscript.sh Fred Q Davis
>
> Instead it runs like this:
>
> myscript.sh John
> myscript.sh A
> myscript.sh Smith
> ...
> etc.
>
> How do I get this script to run correctly?
>
> Thanks!
> LW

You get this behavior because the internal field separator by default 
recognizes spaces, tebs, etc as field separators.

Try this instead (where names.lst is your file of names):

exec < ./names.lst
while read line
do
	myscript.sh $line
done


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux