Sponsored Content
Top Forums Shell Programming and Scripting Need to recalculate (subtract) before a reformat. Post 303012540 by wbport on Monday 5th of February 2018 04:16:58 PM
Old 02-05-2018
Need to recalculate (subtract) before a reformat.

We are having to read a number of files from an outside source and have been given a layout that looks like this
Code:
LNPDTO          383        8     DATE  Comment
LNACIN          391       14     S2     Comment
LNDEFI          405       14     S2     Comment
LNYTDI          419       14     S2     Comment
LNYTDD          433       14     S2     Comment
LNRATE          447        8     S5    Comment
LNRPTR          455        3     N0    Comment

Besides DATE, there is also CHAR and YorN, but those types don't bother me yet. When there is an S (signed numeric) or N (unsigned), I need to subtract the trailing digit from the middle number. The field will be the size they specify but the number of places after the decimal point is subtracted from what is in front of it. Output looks like
Code:
LNPDTO          383  PIC 9(8).
LNACIN          391 PIC S9(12)V9(2).
..........
LNRATE          447   PIC S9(3)V9(5).

In COBOL, the V is an implied decimal point. If the digit after the S or N is zero, there is no V in the PIC clause "PIC 9(3)."

Is there any way to streamline this? We will be getting a number of large layouts in the near future. I can handle it when it doesn't involve a subtraction.

TIA
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

reformat the file

Hi all, I ran into this problem, hope you can help I have a text file like this: Spriden ID First Name Last Name Term Code Detail Code Amount Trans Date Description ... (3 Replies)
Discussion started by: CamTu
3 Replies

2. Shell Programming and Scripting

Subtract Time

Hello, Im writing a script using the ksh shell. I have 2 variables in the script: CURRTIME PREVTIME Example, if CURRTIME=13:00, I want to somehow calculate what the time was an hour ago so that PREVTIME=12:00 Right now I have the following: CURRTIME=`date +%H:%M` How can I... (4 Replies)
Discussion started by: xadamz23
4 Replies

3. UNIX for Dummies Questions & Answers

Date Reformat

Hello, I have a .CSV file with 10+ datetime columns. The way the data is stored in these columns are - 4/4/2006 3:45:30 PM I want the single digits to be left padded with a zero so the above looks like 04/04/2006 03:45:30 PM As the dates and times are different throughout the file... (2 Replies)
Discussion started by: F-1
2 Replies

4. UNIX for Advanced & Expert Users

reformat ps output

I often use "ps -ef" command to list all running processes. Now i want to customize the output to show only 2 parts: CMD and UID as below: /bin/bash /usr/bin/run-parts /etc/cron.weekly root /usr/sbin/httpd apache /usr/sbin/httpd apache /usr/sbin/httpd apache I use ps -ef | awk '{print $8"... (3 Replies)
Discussion started by: fongthai
3 Replies

5. Shell Programming and Scripting

Please help me reformat this file

I am working with a file of the form; 4256 7726 1 6525 716 1 7626 0838 1 8726 7623 2 8625 1563 2 1662 2628 3 1551 3552 3 1542 7984 ... (3 Replies)
Discussion started by: digipak
3 Replies

6. Shell Programming and Scripting

Add/Subtract Time

need some help on the below requirement: File1: SV,22,20100501140000,JFK,RUH SV,29,20100501073000,BOM,RUH SV,29,20100501073000,SIN,RUH third filed is datetime which is of the format (yyyymmddhh24miss) File2 JFK,+,0500 BLR,-,0530 SIN,-,0800 for every line of file 1, take 4... (9 Replies)
Discussion started by: ssantoshss
9 Replies

7. Shell Programming and Scripting

how to subtract variables

i have var1=abc def var2=abc I want to do var1-var2 ie i want def how can i do it? Thanks please help (1 Reply)
Discussion started by: javaholics
1 Replies

8. Shell Programming and Scripting

Reformat a file

I have a csv file with 11 columns. The first columns contains the User Id. One User id can have multiple sub Id. The value of Sub Id is in column 10. 100026,captjason@hawaii.rr.com ,jason ,wolford ,1/16/1969, ,US, ,96761 ,15 ,seg_id 100026,captjason@hawaii.rr.com ,jason ,wolford ,1/16/1969,... (3 Replies)
Discussion started by: r_t_1601
3 Replies

9. Shell Programming and Scripting

Subtract two variable

plz help me in simple calculation. Have to substract two variable (in Bytes) and change the output into MB. A=`more /tmp/size_info_old.out |awk NR==3` echo "$A" > /tmp/rav/A.out B=`more /tmp/size_info.out |awk NR==3` echo "$B" > /tmp/B.out C=$(((B-A))/1024/1024) echo "$C"... (2 Replies)
Discussion started by: netdbaind
2 Replies

10. Shell Programming and Scripting

Parse and reformat

Trying to parse column C ($3) of the attached file (104 rows). The data is in the below format all in a string. Each string would be a separate row with the data in column A ($1) and column B ($2) being the header. All the data is in seperate columns as well. Thank you :). ACTA 59... (9 Replies)
Discussion started by: cmccabe
9 Replies
QVBoxLayout(3qt)														  QVBoxLayout(3qt)

NAME
QVBoxLayout - Lines up widgets vertically SYNOPSIS
#include <qlayout.h> Inherits QBoxLayout. Public Members QVBoxLayout ( QWidget * parent, int margin = 0, int spacing = -1, const char * name = 0 ) QVBoxLayout ( QLayout * parentLayout, int spacing = -1, const char * name = 0 ) QVBoxLayout ( int spacing = -1, const char * name = 0 ) ~QVBoxLayout () DESCRIPTION
The QVBoxLayout class lines up widgets vertically. This class is used to construct vertical box layout objects. See QBoxLayout for more details. The simplest use of the class is like this: QBoxLayout * l = new QVBoxLayout( widget ); l->addWidget( aWidget ); l->addWidget( anotherWidget ); <center> [Image Omitted] </center> See also QHBoxLayout, QGridLayout, the Layout overview, Widget Appearance and Style, and Layout Management. MEMBER FUNCTION DOCUMENTATION
QVBoxLayout::QVBoxLayout ( QWidget * parent, int margin = 0, int spacing = -1, const char * name = 0 ) Constructs a new top-level vertical box called name, with parent parent. The margin is the number of pixels between the edge of the widget and its managed children. The spacing is the default number of pixels between neighboring children. If spacing is -1 the value of margin is used for spacing. QVBoxLayout::QVBoxLayout ( QLayout * parentLayout, int spacing = -1, const char * name = 0 ) Constructs a new vertical box called name name and adds it to parentLayout. The spacing is the default number of pixels between neighboring children. If spacing is -1, this QVBoxLayout will inherit its parent's spacing(). QVBoxLayout::QVBoxLayout ( int spacing = -1, const char * name = 0 ) Constructs a new vertical box called name name. You must add it to another layout. The spacing is the default number of pixels between neighboring children. If spacing is -1, this QVBoxLayout will inherit its parent's spacing(). QVBoxLayout::~QVBoxLayout () Destroys this box layout. The layout's widgets aren't destroyed. SEE ALSO
http://doc.trolltech.com/qvboxlayout.html http://www.trolltech.com/faq/tech.html COPYRIGHT
Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the license file included in the distribution for a complete license statement. AUTHOR
Generated automatically from the source code. BUGS
If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports help us to help you. Thank you. The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech. If you find errors in this manual page, please report them to qt-bugs@trolltech.com. Please include the name of the manual page (qvboxlayout.3qt) and the Qt version (3.3.8). Trolltech AS 2 February 2007 QVBoxLayout(3qt)
All times are GMT -4. The time now is 08:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy