Sponsored Content
Full Discussion: Script help
Top Forums Shell Programming and Scripting Script help Post 69871 by jerardfjay on Thursday 21st of April 2005 07:04:53 AM
Old 04-21-2005
i'm not too sure what you mean by the quote below

"Assuming there above values as 5 columns, I need to add column 4 value and column 5 value between the consecutive lines if column 3 value is the same, else just report column 4 and 5 as is."[/QUOTE]

Thank you for the reply.
what I had intended to say was "Assuming the above values as 5 individual columns, I need to add column 4 in line 1 and line 2 and column 5 in line 1 and line 2 if column 3 value is the same between line 1 and line 2. If not I need to report just column 4 and column 5 value as is"

does this make sense.
I am trying to use an awk program, however I am not sure if how to handle fixed width files with no delimiters. I think this can be overcome with FIXEDWIDTHFIELDS keyword to indicate the size of each field in the fixed width record.
The other issue that I have is to only print a record after adding the values between line 1 and line 2 when the column 3 match value between the lines.

Here is the awk program

BEGIN { FIELDWIDTHS="6 1 8 7 7"}
{supplier = substr($0,8,8)
asnerror = substr($0,17,7)
asntotal = substr($0,18,7)
if (supplier == $3) {
asnerror = asnerror + $4; asntotal = asntotal + $5; NEXT
}
else {print supplier" "asnerror" "asntotal; supplier = $3; asnerror = $4; asntotal = $5 }
}

and the call to this program is like awk -f getfields supplier="" 230240.sort

the input file 230240.sort is as follows ( I messed up the column widths when I posted for the first time)

yyyymm-A-99999999-9999999-999999

200503P0118500100000100000000
200503P0118500100000100000000
200503P0119000100000300000001
200503P0119000100000300000001
200503P0119900100000100000000
200503P0119900100000100000000
200503P0119900300000020000000
200503P0119900300000020000000

I dont think the program I have listed above provides the necessary results. Any thoughts/suggesstions to make this awk program is much appreciated. Thanks.

Last edited by jerardfjay; 04-22-2005 at 10:20 AM..
 

5 More Discussions You Might Find Interesting

1. 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

2. 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

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

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

5. 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
DATEFMT_GET_PATTERN(3)							 1						    DATEFMT_GET_PATTERN(3)

IntlDateFormatter::getPattern - Get the pattern used for the IntlDateFormatter

	Object oriented style

SYNOPSIS
public string IntlDateFormatter::getPattern (void ) DESCRIPTION
Procedural style string datefmt_get_pattern (IntlDateFormatter $fmt) Get pattern used by the formatter. PARAMETERS
o $fmt - The formatter resource. RETURN VALUES
The pattern string being used to format/parse. EXAMPLES
Example #1 datefmt_get_pattern(3) example <?php $fmt = datefmt_create( 'en_US', IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN, 'MM/dd/yyyy' ); echo 'pattern of the formatter is : ' . datefmt_get_pattern($fmt); echo 'First Formatted output with pattern is ' . datefmt_format($fmt, 0); datefmt_set_pattern($fmt,'yyyymmdd hh:mm:ss z'); echo 'Now pattern of the formatter is : ' . datefmt_get_pattern($fmt); echo 'Second Formatted output with pattern is ' . datefmt_format($fmt, 0); ?> Example #2 OO example <?php $fmt = new IntlDateFormatter( 'en_US', IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN, 'MM/dd/yyyy' ); echo 'pattern of the formatter is : ' . $fmt->getPattern(); echo 'First Formatted output is ' . $fmt->format(0); $fmt->setPattern('yyyymmdd hh:mm:ss z'); echo 'Now pattern of the formatter is : ' . $fmt->getPattern(); echo 'Second Formatted output is ' . $fmt->format(0); ?> The above example will output: pattern of the formatter is : MM/dd/yyyy First Formatted output is 12/31/1969 Now pattern of the formatter is : yyyymmdd hh:mm:ss z Second Formatted output is 19690031 04:00:00 PST SEE ALSO
datefmt_set_pattern(3), datefmt_create(3). PHP Documentation Group DATEFMT_GET_PATTERN(3)
All times are GMT -4. The time now is 06:12 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy