Visit Our UNIX and Linux User Community


How to read n number of lines from a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to read n number of lines from a file
# 22  
Old 11-03-2009
hi everybody

i have one shell scripting which calculate average value for columns
this is the script


Code:
#!/bin/bash


echo "enter file name"
read file

cat $file



awk 'BEGIN {FS=OFS=" "} { for (i=1; i<=NF; i++) sum[i] += $i; j=NF }
END { printf "%s%s", "------------------", "\nAvg"; for (i=1; i <= j; i++) printf "%s%s", OFS, sum[i]/NR; printf "\n"; }' $file

it gives the output like this
Code:
enter file name
vfile
1 5 3 4 6 8
5 5 7 9 0 1
4 6 4 4 6 2
6 7 8 12 3 4
------------------
Avg 4 5.75 5.5 7.25 3.75 3.75


but i want to do calculaton for average in row wise so that my output will look like this

Code:
enter file name
vfile
1 5 3 4 6 8 = 4.5
5 5 7 9 0 1 = 4.5
4 6 4 4 6 2 = 4.333333333
6 7 8 12 3 4 = 6.666666667


Any help is thankfully appericiated

Last edited by Franklin52; 02-16-2010 at 07:02 AM.. Reason: Please use code tags!
# 23  
Old 11-03-2009
Try this...

Code:
awk '{print $0,"=",($1+$2+$3+$4+$5+$6)/6}' file

# 24  
Old 11-03-2009
tanx!!! it worked

but one thing i can have either more than 6columns or less than that also same thing for no of rows also

for eg my output should be like this
Code:
enter file name
vfile
1 5 3 = 3
5 5 7 9 0 1 = 4.5
4 6 4 4 6  = 4.8
6 7 8 12 3 4 55 = 13.571428571


once again tanx in advance!!

Last edited by Franklin52; 02-16-2010 at 07:02 AM.. Reason: Please use code tags!
# 25  
Old 11-03-2009
code:-

Code:
nawk 'NF{for (i=1;i<=NF;i++) {x+=$i} ; print $0," =",x/NF ; x=0}' input_file

BR
# 26  
Old 11-03-2009
hi ahmad.diab,

tanx for ur code but the code throws me error saying that


nawk: command not found


help me plzzzz

thanks again in advance!!!!
# 27  
Old 11-04-2009
Code:
use gawk or /usr/xpg4/bin/awk instead of nawk.

BR
# 28  
Old 11-04-2009
Hi ahmad.diab,

I replaced gawk instead nawk. Thanks , it works well. But can u plz explain me why nawk not worked , i need the whole script explanation.????



Tanx once again!!!

Previous Thread | Next Thread
Test Your Knowledge in Computers #526
Difficulty: Medium
In the ASCII Character Table, the first and second column indicate the binary and decimal representation respectively.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to read a file starting at certain line number?

I am new to ksh scripts. I would like to be able to read a file line by line from a certain line number. I have a specific line number saved in a variable, say $lineNumber. How can I start reading the file from the line number saved in $lineNumber? Thanks! (4 Replies)
Discussion started by: dcowboys13
4 Replies

2. Shell Programming and Scripting

How to read a number from a file?

hello guys, I'm struggled to get a number from a very long text file. NAtoms= 33 NActive= 30 NUniq= 23 SFac= 1.00D+00 NAtFMM= 60 NAOKFM=F Big=F Integral buffers will be 131072 words long. Raffenetti 2 integral format. The number 33 is what I wanted, always follows NAtoms=... (5 Replies)
Discussion started by: liuzhencc
5 Replies

3. Shell Programming and Scripting

Read line with particular number of lines

Hi all, I have a file sample.txt abc asd adf daf adw add adv wdf I want to control the number of lines to read Like if i give input as ./script_name 2 5 required output asd adf daf (2 Replies)
Discussion started by: krux_rap
2 Replies

4. UNIX for Dummies Questions & Answers

When reading a csv file, counter to read 20 lines and wait for minute then read next 20 till end

Hello All, i am a newbie and need some help when reading a csv file in a bourne shell script. I want to read 10 lines, then wait for a minute and then do a reading of another 10 lines and so on in the same way. I want to do this till the end of file. Any inputs are appreciated ... (3 Replies)
Discussion started by: victor.s
3 Replies

5. UNIX for Dummies Questions & Answers

How to read contents of a file from a given line number upto line number again specified by user

Hello Everyone. I am trying to display contains of a file from a specific line to a specific line(let say, from line number 3 to line number 5). For this I got the shell script as shown below: if ; then if ; then tail +$1 $3 | head -n $2 else ... (5 Replies)
Discussion started by: grc
5 Replies

6. UNIX for Dummies Questions & Answers

Read directory files and count number of lines

Hello, I'm trying to create a BASH file that can read all the files in my working directory and tell me how many words and lines are in that file. I wrote the following code: FILES="*" for f in "$FILES" do echo -e `wc -l -w $f` done My issue is that my file is outputting in one... (4 Replies)
Discussion started by: jl487
4 Replies

7. Shell Programming and Scripting

Number lines of file and assign variable to each number

I have a file with a list of config files numbered on the lefthand side 1-300. I need to have bash read each lines number and assign it to a variable so it can be chosen by the user called by the script later. Ex. 1 some data 2 something else 3 more stuff which number do you... (1 Reply)
Discussion started by: glev2005
1 Replies

8. Shell Programming and Scripting

Read the specified line number from file

Hi Guys, I am new to unix. Actually i want help in writing an single command where i can actually read specific line number in file where the line number will be passed to command as parameter. ex. 1 a 2 b 3 c 4 d And to my command i pass as 2. so i should get output as 2 b ... (15 Replies)
Discussion started by: kam786sim
15 Replies

9. Shell Programming and Scripting

Read a number from file and place it back

Hi All, I want to read one number from the file. Only one number will be there in the file. then i have to increment the number in my script and put it back in the same file. Is it possible? Can anybody help me? Thanks, Vinay (6 Replies)
Discussion started by: vinayakatj56
6 Replies

10. Shell Programming and Scripting

To read and separate number and words in file and store to two new file using shell

hi, I am a begginer in unix and i want to know how to open a file and read it and separate the numbers & words and storing it in separate files, Using shell scripting. Please help me out for this. Regards S.Kamakshi (2 Replies)
Discussion started by: kamakshi s
2 Replies

Featured Tech Videos