OT: shell scripting problem
Rick Stevens
rstevens at vitalstream.com
Wed May 18 17:12:28 UTC 2005
Alexander Dalloz wrote:
> Am Mi, den 18.05.2005 schrieb linux.whiz at gmail.com um 0:55:
>
>
>>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
Remember that, by default, bash thinks spaces separate fields. You
could add a couple of lines such as:
OLDIFS=$IFS
IFS=$'\n'
to the beginning of your script to change the field separator to just
newline (by default, it's "<space><tab><newline>"). Don't forget to
clean that up via:
IFS=$OLDIFS
at the end of the script (not really necessary, but one should clean up
after oneself).
----------------------------------------------------------------------
- Rick Stevens, Senior Systems Engineer rstevens at vitalstream.com -
- VitalStream, Inc. http://www.vitalstream.com -
- -
- Is that a buffer overflow or are you just happy to see me? -
----------------------------------------------------------------------
More information about the fedora-list
mailing list