Need help with a script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need help with a script
# 1  
Old 03-17-2015
Linux Need help with a script

Hi All,

First, Thank you for your time and help.

Regarding the script. I need to compare two numerical values from a text file and if A<B write "1" to specific column location in the file(call this group variable). When A>B write "2" to specific column location. Every time the condition A>B is meet increment the Group value (+1).

Here is a part of the file hope this helps:
Values to be compared )in red ------------------------ Group variable (in green)
Code:
sc_2600                                                        1637.00   516418.17  2876882.65  10547.8604       1
sc_2600                                                        1637.20   516428.97  2876888.87  10547.0000       1
sc_2600                                                       11106.80  1016594.53  3193390.21   4565.5098      2
sc_2600                                                       11107.00  1016605.07  3193397.00   4565.1699      2
sc_2600                                                       11107.20  1016615.65  3193403.82   4563.9702      2

The values in red have to be compared line by line and if A<B is true write "1", once A>B is encountered increment(+1) the A<B "group value".

Is this achievable in bash script?
The way I see things and correct me if wrong.
1. Assign line 1 value from specific column to variable "A"
2. Assign line 2 value from specific column to variable "B"
3. Compare if A<B write group value of X (x =1) to specific column location.
4. if A>B X=X+1

Thanks

Moderator's Comments:
Mod Comment Please use code tags next time for your code and data, thanks

Last edited by vbe; 03-17-2015 at 05:49 PM..
# 2  
Old 03-17-2015
Is this a homework assignment?

What have you tried?
# 3  
Old 03-17-2015
Quote:
Originally Posted by Don Cragun
Is this a homework assignment?

What have you tried?
Not a homework assignment. So far I'm trying to figure out the best way to pass the numerical values from the text file to variables. Reading on "awk" and "sed"now. Then will look into comparing them. Also will need to figure out how to write a value to specific location.

Thanks
# 4  
Old 03-17-2015
I can't follow what you're trying to do:
  1. You talk about getting A from line 1 and B from line 2.
  2. You don't say anything about which line is supposed to receive the value X.
  3. You don't say anything about what should happen on lines 3 through 5.
  4. It isn't clear whether you are creating a new output field or if you are modifying data in an existing field.
  5. The values in field 2 are monotonically increasing, but the green output field isn't always set to 1 and isn't consistently increasing.

Please describe more clearly what you are trying to do:
  1. Please show us an input file (in CODE tags) and show us the output you want to produce from that input file (also in CODE tags).
  2. If different things are supposed to happen when A < B than when A >= B, show us input with both cases so we can see the desired effects on the output.
  3. If the "specific column locations" are not the constants 2 and 6, explain how you will tell your script which fields are to be processed.
  4. Is maintaining the spacing between fields and (the inconsistent final field alignment) important?
  5. What operating system are you using?
  6. What shell are you using?

Concentrate on awk rather than sed for this. The sed utility is not designed to perform arithmetic (like X=X+1) nor arithmetic comparisons (like A < B).
# 5  
Old 03-18-2015
Don,

Thank you for your replay. My logic is wrong and will need to think about this more. I will repost once I have a everything together per your criteria.

Thanks again
Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies

2. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

3. UNIX for Dummies Questions & Answers

Calling a script from master script to get value from called script

I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below. #masterscript.sh ./callingscript.sh echo $fileExist #callingscript.sh echo "The script is called"... (2 Replies)
Discussion started by: Raj Roy
2 Replies

4. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

5. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies
Login or Register to Ask a Question