Sponsored Content
Top Forums Shell Programming and Scripting Translate bash mathematical calculation to awk Post 302915060 by neutronscott on Sunday 31st of August 2014 06:01:59 AM
Old 08-31-2014
It could certainly be reworked in to better shell scripting to not need an intermediate file.
Reworking it in just plain awk is difficult since awk doesn't have it's own sort function.
How about this?

Code:
mute@thedoctor:~$ cat script
#!/bin/sh
tr -s ' \t\n' '\n' < "$1" | sort -n | awk '
  { a[NR]=$1 }
  END {
    print "Q1=" a[int(NR/4)]
    print "Q2=" a[int(NR/2)]
    print "Q3=" a[int(3*NR/4)]
}'

mute@thedoctor:~$ ./script file
Q1=1
Q2=36
Q3=38

From what I read about quartiles, this should be expanded to take the average of two values if the quarter falls between two. For this data set the answers match.
This User Gave Thanks to neutronscott For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk calculation

Hallo all, I have a script which creates an output ... see below: root@a7germ:/tmp/pax > cat 20061117.txt 523.047 521.273 521.034 517.367 516.553 517.793 513.114 513.940 I would like to use awk to calculate the (a)total sum of the numbers (b) The average of the numbers. Please... (4 Replies)
Discussion started by: kekanap
4 Replies

2. UNIX for Dummies Questions & Answers

use a mathematical expression in an awk statement

I have some geometric data (X Y) that is in the wrong scale. My raw data is in mills but it needs to be in tenths of a mil I am pretty familiar with awk and sed I want to use awk to divide $1 and $2 by .1 I'm just not sure of the syntax $1 and $2 are variables and .1 is fixed simple... (3 Replies)
Discussion started by: awk_sed_hello
3 Replies

3. Shell Programming and Scripting

Mathematical functions in bash shell

Hi, How can i do the mathematical calculations in bash shell? Are the mathematical functions available in bash shell? Ex: pow ceil floor sqrt (5 Replies)
Discussion started by: cola
5 Replies

4. Shell Programming and Scripting

Error in mathematical calculation using bc

I am getting the error: Runtime error (func=(main), adr=10): Divide by zero When executing the mathematical expression: echo "scale=2; 1-(0/0)"|bc How to overcome this? (5 Replies)
Discussion started by: proactiveaditya
5 Replies

5. Shell Programming and Scripting

translate a short csh script to bash

Hi, I have a csh: set NODES = `cat $HOST_FILE` set NODELIST = $TMPDIR/namd2.nodelist echo group main >! $NODELIST foreach node ( $NODES ) echo host $node >> $NODELIST end @ NUMPROCS = 2 * $#NODES I am very frustrated to translate it to bash: NODES = `cat... (3 Replies)
Discussion started by: rockytodd
3 Replies

6. Shell Programming and Scripting

Can BASH handle mathematical operations and do a Search & Replace?

Hello, I have a bunch of xml file that needs to have edits made and I was wondering if a BASH script could handle it. I would like the script to look within my xml files and replace all integers greater than 5px with a value that is 25% smaller. For example, 100px = 75px. Since the integers... (12 Replies)
Discussion started by: jl487
12 Replies

7. Shell Programming and Scripting

translate sed to awk

hi, can someone tell me how can I translate the following line from sed to awk? `sed 's/^*:*:*:*:*:\(*\):.*/\1/ How to use code tags when posting data and code samples. (14 Replies)
Discussion started by: adam25bc
14 Replies

8. Shell Programming and Scripting

Translate grep to awk

sed -n "2,10p" lfile | egrep error | egrep -vc memory sed -n "2,10p" lfile | egrep error | egrep -v memory sed -n "2,10p" lfile | egrep error | egrep -c memory sed -n "2,10p" lfile | egrep error | egrep memory above are four separate commands. i want to combine the grep in each... (7 Replies)
Discussion started by: SkySmart
7 Replies

9. Shell Programming and Scripting

How To Perform Mathematical Operation Within If in awk?

Hi All, I am using an awk script as below: awk -F'|' 'BEGIN{OFS="|";} { if ($1==$3 && $3==$7 && $7==$13 && $2==$6 && $6==$11 && $15-$14+1==$11) print $0"|""TRUE"; else print $0"|""FALSE"; }' tempfile.txt In above script, all conditions are being checked except the one which is... (4 Replies)
Discussion started by: angshuman
4 Replies

10. Shell Programming and Scripting

awk split and awk calculation in the same command

I am trying to run the awk below. My question is when I split the input, then run anotherawk to perform a calculation using that splitas the input there are no issues. When I try to combine them the output is not correct, is the split not working or did I do it wrong? Thank you :). input ... (8 Replies)
Discussion started by: cmccabe
8 Replies
NetSDS::Translate(3pm)					User Contributed Perl Documentation				    NetSDS::Translate(3pm)

NAME
NetSDS::Translate - simple API to gettext SYNOPSIS
use NetSDS::Translate; my $trans = NetSDS::Translate->new( lang => 'ru', domain => 'NetSDS-IVR', ); print $trans->translate("Detect CallerID"); DESCRIPTION
"NetSDS::Translate" module provides API to gettext translation subsystem CLASS API
new(%params) - class constructor my $trans = NetSDS::Translate->new( lang => 'ru', domain => 'NetSDS-IVR', ); translate($string) - translate string Return translated string. print $trans->translate("All ok"); TODO
1. Make configurable language to locale conversion in constructor. 2. Implement placeholders support provided by gettext. SEE ALSO
Locale::gettext AUTHOR
Michael Bochkaryov <misha@rattler.kiev.ua> LICENSE
Copyright (C) 2008-2009 Net Style Ltd. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA perl v5.10.1 2010-04-28 NetSDS::Translate(3pm)
All times are GMT -4. The time now is 09:53 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy