Reading a variable line by line with while loop
Ray Parrish
crp at cmc.net
Tue Dec 1 14:00:09 UTC 2009
Loïc Grenié wrote:
> 2009/12/1 Ray Parrish <crp at cmc.net>:
>
>> Hello,
>>
>> I have been using while loops to read files in line by line when I want
>> to process things on a line oriented basis. Sometimes i have the set of
>> lines I want to read through already in a variable, and have to write
>> them to file before beginning to read line by line.
>>
>> I was wondering if it is possible to read a variable line by line
>> somehow with a while loop? Would it possibly be faster than using a file
>> to read from?
>>
>> I was thinking something along the lines of the following code might
>> work, but have not tested it yet.
>>
>> while read ThisLine; do
>> # process each line
>> echo "$ThisLine"
>> done < `echo "$Variable"`
>>
>> Is this something that might work, and would it be more efficient than
>> writing to, and reading from a file? Is there some other way I've missed
>> to make it work?
>>
>
> This will probably not work.
>
> echo "$Variable" | while read
> ...
> done
>
> has better chances of working.
>
> Loïc
>
You are right, your method works, whereas mine did not. Thank you for
the valuable pointer.
Here is what I got to work.
# read this script into the variable
Variable=`cat $0`
# Read each line in variable, and echo it to standard out.
echo "$Variable" | while read ThisLine; do
# process each line
echo "$ThisLine"
done
Thanks again, and later! Ray Parrish
--
The Future of Technology.
http://www.rayslinks.com/The%20Future%20of%20Technology.html
Ray's Links, a variety of links to usefull things, and articles by Ray.
http://www.rayslinks.com
Writings of "The" Schizophrenic, what it's like to be a schizo, and other
things, including my poetry.
http://www.writingsoftheschizophrenic.com
More information about the ubuntu-users
mailing list