extracting information from lines, put them into arrays


 
Thread Tools Search this Thread
Top Forums Programming extracting information from lines, put them into arrays
# 1  
Old 12-01-2010
extracting information from lines, put them into arrays

hi
I need a little help writing this small perl script. I'm trying to extract the values from each line in a file and find the average for example

cat school
Code:
Highschool 100, 123, 135
Middleschool 41, 67, 54
Elementary 76, 315, 384

./average.pl
highschool: 119.3
middleschool: 54
elementary: 258.3

I tried using this script to test if the array would take the values but it didnt.
Code:
#!/usr/bin/perl
$str="a few numbers are 41, 32, and 56.";
$str1=$str;
$str1=~ s/\D*(\d+)\D*(\d+)\D*(\d+)/$1--$2--$3/;
#this part didnt work out
@array=($1, $2, $3);
print $array[3];

I was wondering if I could get some helpful answers thanks! Smilie

Last edited by Franklin52; 12-01-2010 at 07:57 AM.. Reason: Please use code tags
# 2  
Old 12-01-2010
Here's one way:

Code:
 
$ cat avg.pl
#!/usr/bin/perl
use strict;
my $line;
my $val;
my $school;
my $grades;
my $score;
my $total;
my $avg;
my $i;
open ( INFILE, "<avg.dat" ) or
   die "ERROR:  Unable to open file:  avg.dat" ;
while ($line = <INFILE>) {
   chomp $line;
   ($school,$grades) = split(' ', $line, 2);
   $i = 0;
   $total = 0;
   foreach $score (split(',', $grades)) {
      $i++;
      $total += $score;
   }
   $avg = $total/$i;
   printf "%s:  %.1f\n", $school, $avg;
}
close (INFILE);
exit;

Code:
 
$ cat avg.dat
Highschool 100, 123, 135
Middleschool 41, 67, 54
Elementary 76, 315, 384

$ ./avg.pl
Highschool:  119.3
Middleschool:  54.0
Elementary:  258.3

# 3  
Old 12-01-2010
thank you very much jsmithstl!! works perfectly
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

[Solved] Extracting information from DDL's

Dear Experts, I need your help here. I have lot of teradata DDL's as follows, i want to extract field names , field attributes and NOT NULL information from DDL.Could you please help here. Sample DDL: CREATE MULTISET TABLE APS_CALL_IN_PICKUP_CANCELED ,NO FALLBACK , NO BEFORE... (2 Replies)
Discussion started by: srikanth38
2 Replies

2. Shell Programming and Scripting

Extracting information using awk

I want to write a script that extracts a value from a line of text. I know it can be done using awk but I've never used awk before so I don't know how to do it. The text is: Mem: 100M Active, 2150K Cache, 500M Buf, 10G Free I want to extract the free memory value to use as a variable. In... (5 Replies)
Discussion started by: millsy5
5 Replies

3. Shell Programming and Scripting

Problems extracting some information

Hi there! Well, I'm writing a script to obtain certain information about files. Specifically, I want to get the information about those files which last access were in the last 24 hours, so I'm doing something like this: find <directory_name> -atime -1 -printf '%f %a\n' I would also... (4 Replies)
Discussion started by: Skirmish
4 Replies

4. Shell Programming and Scripting

extracting information from multiple files

Hello there, I am trying to extract (string) information ( a list words) from 4 files and then put the results into 1 file. Currently I am doing this using grep -f list.txt file1 . and repeat the process for the other 3 files. The reasons i am doing that (a) I do know how to code (b) each file... (4 Replies)
Discussion started by: houkto
4 Replies

5. Shell Programming and Scripting

Perl XML, find matching condition and grep lines and put the lines somewhere else

Hi, my xml files looks something like this <Instance Name="New York"> <Description></Description> <Instance Name="A"> <Description></Description> <PropertyValue Key="false" Name="Building A" /> </Instance> <Instance Name="B"> ... (4 Replies)
Discussion started by: tententen
4 Replies

6. Shell Programming and Scripting

Extract zip code information from address, put into new column

Hi, suppose I have a colon delimeterd file with address field like this blue:john's hospital new haven CT 92881-2322 yellow:La times copr red road los angeles CA90381 1302 red:las vegas hotel sand drive Las vegas NV,21221 How do I create a new field that contain the zip code information... (3 Replies)
Discussion started by: grossgermany
3 Replies

7. Shell Programming and Scripting

Problems with extracting information

Hi all, <select name="comp" id="comp" style="width:130px;"> <?php $sqlcomp = mysql_query("SELECT * FROM comp"); while ($redcomp = mysql_fetch_array($sqlcomp)) { extract($redcomp); echo "<option value=\"$comp_id\">comp_name</option>"; } ?> ... (0 Replies)
Discussion started by: c0mrade
0 Replies

8. Shell Programming and Scripting

Storing information in arrays....

Hello, I am writing a shell script to do the following. It greps information from the messages log and then I use the cut command to isolate the field I need (the username) and output the information to a text file. I now have to do the following. Count how many times each user logged in. So... (3 Replies)
Discussion started by: mojoman
3 Replies

9. Shell Programming and Scripting

Extracting information from a template

I have a template that I usually use to generate stats on an hourly basis for a number of cell sites altogether. I would like to be able to write a script that would go to the template and extract the information for any single site at any time during the day. For example, let's say that my... (4 Replies)
Discussion started by: Ernst
4 Replies

10. Shell Programming and Scripting

read a part of information from txt and put into the script

Hi, I have a name.txt which is stored: APPLE ORANGE RED BLUE GREEN and my script is: $name=`cat name.txt for file_number in `ls 1 /appl/CH_DATA/archive/CACHE/CDBACKUP$name*.archived however, my script cannot read name.txt and put into my scrip line, I would like the output is to... (18 Replies)
Discussion started by: happyv
18 Replies
Login or Register to Ask a Question