Visit Our UNIX and Linux User Community

Averaging segments

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Averaging segments
# 1  
Old 09-15-2009
Averaging segments


I have a file that I want to average. So specifically I want to average every third column for each row.

Here is an example of my file

2 2 2 3 3 3 1 1 1 5 5 5

Heres what I want it to look like after averaging every third column

2 3 1 5


Last edited by vgersh99; 09-15-2009 at 12:55 PM.. Reason: code tags, PLEASE!
# 2  
Old 09-15-2009
What have you tried so far and where exactly are you stuck?
# 3  
Old 09-15-2009
awk '{one=($1 +$2 +$3)/3 
        two=($4 + $5  +$6)/3 
        three=($7 +$8 +$9)/3
        print one, two, three } ' inputfile

# 4  
Old 09-15-2009

Hey yeah that works and I had somethign similar but the file is rows are very long (like almost 1000 characters). So I was wondering if there was a faster way of doing it (rather than typing $1, $2 etc.)

# 5  
Old 09-15-2009
if number of fields are not fixed, try:

awk 'NF%3 == 0{for(i=1;i<=NF;i++) { avg=($i+$(i+1)+$(i+2))/3; print avg;i=i+2 }}' file

# 6  
Old 09-15-2009
yeah for some reason that does not work.
# 7  
Old 09-15-2009
if u have number of fields not multiple of 3, it wont process any further.
if you still want to, remove the NF%3 ==0 part in the command.

Previous Thread | Next Thread
Test Your Knowledge in Computers #118
Difficulty: Easy
A Unix-like OS is the one that works like Unix systems, however, Unix-like system do not necessarily conform to the Single UNIX Specification (SUS) or POSIX (Portable Operating System Interface) standards.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extracting segments

I have queue.txt with the following contents: Queue on node ... description : type : local max message len : 104857600 max queue depth : 5000 queue depth max event : enabled persistent msgs : yes backout... (5 Replies)
Discussion started by: Daniel Gate
5 Replies

2. Shell Programming and Scripting

Grep start and end line of each segments in a file

Cat file1 -------- ---------- SCHEMA.TABLE1 insert------- update----- ------------- ---------- SCHEMA.TABLE2 insert------- update----- ----------- ------------ SCHEMA.TABLE3 insert------- update----- ------------ grep -n SCHEMA > header_file2.txt (2 Replies)
Discussion started by: Veera_V
2 Replies

3. SuSE

TCP segments retransmission

Hi all, I got an application that is running on SUSE Linux. I would like to get some data about the number of TCP segments retransmission on a particular interface. Is there any way I can get that? Thanks, (2 Replies)
Discussion started by: Pouchie1
2 Replies

4. Shell Programming and Scripting

Averaging segments and including the name

Hello, I have a awk line that averages rows. So if my file looks like this: Jack 1 1 1 1 1 1 Joe 1 1 1 1 1 1 Jerry 0 0 0 0 0 0 John 1 1 1 0 0 0 The awk line below skips column 1 and then averaged the rows awk -F'\t' -v r=3... (3 Replies)
Discussion started by: phil_heath
3 Replies

5. UNIX for Dummies Questions & Answers


Hello all, I'm trying to perform an averaging procedure which selects a selection of rows, average the corresponding value, selects the next set of rows and average the corresponding values etc. The data below illustrates what I want to do. Given two columns (day and value), I want to... (2 Replies)
Discussion started by: Muhammad Rahiz
2 Replies

6. Programming

C programming - Memory Segments

Can someone tell me how many bytes are allocated for C segments(text,data,heap,stack). (3 Replies)
Discussion started by: nandumishra
3 Replies

7. Shell Programming and Scripting

Compare EDI files by skipping selected Segments

Hi, I wanted to compare EDI files present in Two different Directories which can be related by the file names. While comparing the EDI files i have to skip selected segments such as "ISA" "IEA" and "GS" "GE" since this may have datetime stamp and different "Sender" "Receiver" Qual. and... (3 Replies)
Discussion started by: Sivas
3 Replies

8. Programming

Write into shared memory segments

I have created a shared memory segment (which size is 64 bytes) using shmget, shmat e.t.c and i want to divide it into 2 areas. One area for input data and one area for output? How can i do that? Furthermore, When i have to write my input data into the shared memory segment i want to write... (3 Replies)
Discussion started by: mae4
3 Replies

9. HP-UX

HP-UX Trying to Understand Shared Memory Segments

I am fairly new to HP-UX and trying to get a better understanding of the operating system. While poking around a bit I find myself questioning whether I should be concerned about Shared Memory segments with missing CPID and LPID? For example: ipcs -mp IPC status from /dev/kmem as of Mon Mar... (2 Replies)
Discussion started by: scotbuff
2 Replies

10. HP-UX

Shared Memory segments

Hello.... AIX has a limit of 11 shared memory segments per process, does any one know how many HP have?? If so how do I find that out?? Thanks in advance...... (2 Replies)
Discussion started by: catwomen
2 Replies

Featured Tech Videos