awk script concatenate two column and perform mutiplication


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk script concatenate two column and perform mutiplication
# 8  
Old 04-03-2018
It uses the same method as your code in post#1 did: NR == FNR is TRUE for the first file parameter and FALSE for any further input files.
Without you showing code, data, and results - be they correct or not - I'm afraid we're poking in the dark.
# 9  
Old 04-03-2018
Hi Rudic,

Apologies for delayed response
Below is the code im executing for below sample files.

Code:
#!/bin/bash
awk -F"|" 'NR==FNR {EXR[$1$2] = $3; next} $13 in EXR {$63 = $38 * EXR[$1]}1' OFS="|" VBRPpipe.csv Foutputp16.csv

Here in File1(Foutputp16.csv) not able to get result of multiplcation stored in column63 or in either column38

Foutputp16.csv
Code:
SourceIifier|SourleName|GntCode|Dision|Suvision|ProfitCe1|Profie2|Plade|Retuiod|SuppliN|DocType|Suppe|Docummber|Docte|Originer|OrigDate|CRDST|LineNumber|CustoN|UINorComposition|OriginaN|Custoame|Custoe|BillTe|Shite|POS|PortCode|ShippingBillNumber|ShippingBillDate|FOB|ExportDuty|HSNorSAC|ProductCode|ProductDescription|Categorduct|UnitOement|Quantity|Taxabue|Integratede|Integratount|Centraate|CentralTt|StaURate|StateUTTaxAmount|CessRateAdvalorem|CessAmountAdvalorem|CessRateSpecific|CessAmountSpecific|Invoalue|ReverseChargeFlag|TCSFlag|eComGSTIN|ITCFlag|ReasonForCreditDebitNote|AccountingVoucmber|Accountinate|Userdefinedfield1|Userdefinedfield2|Userdefinedfield3|Additionalfield1|Additionalfield2|Additlfield3|Additionalfield4|Additionalfield5
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAACT2T|IN|EXPWT|262881626|02.02.2018||||10||||TVVAHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||1301312397||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAACZT|IV|EXPWT|2627|02.02.2018||||10||||TVVHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||130139||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAAZT|NV|AN|2628|02.02.2018||||20||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||13014||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAA8A1ZT|IN|AX|262881629|02.02.2018||||30||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|16.95|0|0|9|1.53|9|1.53|||||||||||1301312577||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAA8A1ZT|IV|EXPWT|262830|02.02.2018||||40||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||1301312||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAAZT|IN|CN|2628816261050|02.02.2018||||11||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8|0|0|9|0.76|9|0.76|||||||||||1301312397||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|081ZT|IV|AN|2628816271060|02.02.2018||||12||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||1301312569||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AA1ZT|NV|AN|2628816282070|02.02.2018||||13||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||1301312574||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAA1ZT|IN|AX|2628816293080|02.02.2018||||14||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|16.95|0|0|9|1.53|9|1.53|||||||||||1301312577||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAACZT|IV|AX|2628816304090|02.02.2018||||15||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||130122||ZEVD|1210||||||0

VBRPpipe.csv

Code:
26288162610|50|2|8.47|1.52|262881492
26288162710|60|1|8.47|1.52|262881459
26288162820|70|45|8.47|1.52|262881489
26288162930|80|1|16.95|3.06|262881461
26288163040|90|5|8.47|1.52|262881467


Moderator's Comments:
Mod Comment Please use CODE tags as required by forum rules!

Last edited by RudiC; 04-03-2018 at 04:21 PM.. Reason: Added CODE tags.
# 10  
Old 04-03-2018
maybe:
Code:
$63 = $38 * EXR[$13]

# 11  
Old 04-04-2018
Hi Rudic,

Still not luck, not getting any multiplication result, column 63 is blank only..
can you please provide me any solution for this..
Have you tried this at your end.
# 12  
Old 04-04-2018
With the correction posted by rdrtx1 it works for me. Show the malfunctioning code and the result if applied to your sample in post#9.
# 13  
Old 04-04-2018
Hi Rudic,
Apologies, got the correct output now.
but have one doubt..

For the below input, ouput seems to be fine expect for row1 data, as in output after multiplication getting 16 instead of 16.94

Code:
SourceIifier|SourleName|GntCode|Dision|Suvision|ProfitCe1|Profie2|Plade|Retuiod|SuppliN|DocType|Suppe|Docummber|Docte|Originer|OrigDate|CRDST|LineNumber|CustoN|UINorComposition|OriginaN|Custoame|Custoe|BillTe|Shite|POS|PortCode|ShippingBillNumber|ShippingBillDate|FOB|ExportDuty|HSNorSAC|ProductCode|ProductDescription|Categorduct|UnitOement|Quantity|Taxabue|Integratede|Integratount|Centraate|CentralTt|StaURate|StateUTTaxAmount|CessRateAdvalorem|CessAmountAdvalorem|CessRateSpecific|CessAmountSpecific|Invoalue|ReverseChargeFlag|TCSFlag|eComGSTIN|ITCFlag|ReasonForCreditDebitNote|AccountingVoucmber|Accountinate|Userdefinedfield1|Userdefinedfield2|Userdefinedfield3|Additionalfield1|Additionalfield2|Additlfield3|Additionalfield4|Additionalfield5
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAACT2T|IN|EXPWT|262881626|02.02.2018||||10||||TVVAHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||1301312397||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAACZT|IV|EXPWT|2627|02.02.2018||||10||||TVVHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||130139||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAAZT|NV|AN|2628|02.02.2018||||20||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||13014||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAA8A1ZT|IN|AX|262881629|02.02.2018||||30||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|16.95|0|0|9|1.53|9|1.53|||||||||||1301312577||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAA8A1ZT|IV|EXPWT|262830|02.02.2018||||40||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||1301312||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAAZT|IN|CN|2628816261050|02.02.2018||||11||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8|0|0|9|0.76|9|0.76|||||||||||1301312397||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|081ZT|IV|AN|2628816271060|02.02.2018||||12||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||1301312569||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AA1ZT|NV|AN|2628816282070|02.02.2018||||13||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||1301312574||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAA1ZT|IN|AX|2628816293080|02.02.2018||||14||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|16.95|0|0|9|1.53|9|1.53|||||||||||1301312577||ZEVD|1210||||||0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAACZT|IV|AX|2628816304090|02.02.2018||||15||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||130122||ZEVD|1210||||||0


getting below output values as 16(marked in red) for column63 row1
So here 8.47 after multiplying by 2 supposed to give 16.94 but instead it returning 16.
but for other row output is fine with decimal values

Code:
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAAZT|IN|CN|2628816261050|02.02.2018||||11||||TVHVAILI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8|0|0|9|0.76|9|0.76|||||||||||1301312397||ZEVD|1210|||||16|0
SAP|SAP_OSR_INV|||||||date+%m%Y|081ZT|IV|AN|2628816271060|02.02.2018||||12||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||1301312569||ZEVD|1210|||||8.47|0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AA1ZT|NV|AN|2628816282070|02.02.2018||||13||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||1301312574||ZEVD|1210|||||381.15|0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAA1ZT|IN|AX|2628816293080|02.02.2018||||14||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|16.95|0|0|9|1.53|9|1.53|||||||||||1301312577||ZEVD|1210|||||16.95|0
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAACZT|IV|AX|2628816304090|02.02.2018||||15||||TVHVAISHALI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8.47|0|0|9|0.76|9|0.76|||||||||||130122||ZEVD|1210|||||42.35|0

# 14  
Old 04-04-2018
I'm not a believer in "selective arithmetics". To me, 8 * 2 = 16 seems correct, no?

Code:
SAP|SAP_OSR_INV|||||||date+%m%Y|08AAAZT|IN|CN|2628816261050|02.02.2018||||11||||TVHVAILI|1151040011|8|8|8||||||9984|EVD0|EVDCOCOCDMAMaterial|||0|8|0|0|9|0.76|9|0.76|||||||||||1301312397||ZEVD|1210|||||16|0


Last edited by RudiC; 04-04-2018 at 07:51 AM.. Reason: friend -> believer
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need awk or Shell script to compare Column-1 of two different CSV files and print if column-1 matche

Example: I have files in below format file 1: zxc,133,joe@example.com cst,222,xyz@example1.com File 2 Contains: hxd hcd jws zxc cst File 1 has 50000 lines and file 2 has around 30000 lines : Expected Output has to be : hxd hcd jws (5 Replies)
Discussion started by: TestPractice
5 Replies

2. Shell Programming and Scripting

awk script to append suffix to column when column has duplicated values

Please help me to get required output for both scenario 1 and scenario 2 and need separate code for both scenario 1 and scenario 2 Scenario 1 i need to do below changes only when column1 is CR and column3 has duplicates rows/values. This inputfile can contain 100 of this duplicated rows of... (1 Reply)
Discussion started by: as7951
1 Replies

3. Shell Programming and Scripting

Group/concatenate certain column and basis on this do addition on other column

Hi Experts, Need your support I want to group/concatenate column 1,2,12 and 13 and if found duplicate then need to sum value of column 17,20,21 and column22. After concatenation if found unique then no action to be taken. Secondly want to make duplicate rows basis on grouping/concatenation of... (1 Reply)
Discussion started by: as7951
1 Replies

4. Shell Programming and Scripting

awk script to find data in three file and perform replace operation

Have three files. Any other approach with regards to file concatenation or splitting, etc is appreciated If column55(billngtype) of file1 contains YMNC or YPBC then pick the value of column13(documentnumber). Now find this documentnumber in column1(Billdoc) of file2 and grep the corresponding... (4 Replies)
Discussion started by: as7951
4 Replies

5. Shell Programming and Scripting

Concatenate values in the first column based on the second column.

I have a file (myfile.txt) with contents like this: 1.txt apple is 3.txt apple is 5.txt apple is 2.txt apple is a 7.txt apple is a 8.txt apple is a fruit 4.txt orange not a fruit 6.txt zero isThe above file is already sorted using this command: sort -k2 myfile.txtMy objective is to get... (3 Replies)
Discussion started by: shoaibjameel123
3 Replies

6. Shell Programming and Scripting

Filter on one column and then perform conditional calculations on another column with a Linux script

Hi, I have a file (stats.txt) with columns like in the example below. Destination IP address, timestamp, TCP packet sequence number and packet length. destIP time seqNo packetLength 1.2.3.4 0.01 123 500 1.2.3.5 0.03 44 1500 1.3.2.5 0.08 44 1500 1.2.3.4 0.44... (12 Replies)
Discussion started by: Zooma
12 Replies

7. Shell Programming and Scripting

awk script to perform an action similar to vlookup between two csv files in UNIX

Hi, I am new to awk/unix and am trying to put together an awk script to perform an action similar to vlookup between the two csv files. Here are the contents of the two files: File 1: Date,ParentID,Number,Area,Volume,Dimensions 2014-01-01,ABC,247,83430.33,857.84,8110.76... (9 Replies)
Discussion started by: Prit Siv
9 Replies

8. Shell Programming and Scripting

AWK script to create max value of 3rd column, grouping by first column

Hi, I need an awk script (or whatever shell-construct) that would take data like below and get the max value of 3 column, when grouping by the 1st column. clientname,day-of-month,max-users ----------------------------------- client1,20120610,5 client2,20120610,2 client3,20120610,7... (3 Replies)
Discussion started by: ckmehta
3 Replies

9. Shell Programming and Scripting

awk script to (un)/concatenate fields in file

Hi everyone, I'm trying to use the "join" function for more than 1 field. Since it's not possible as it is, I want to take my input files and concatenate the joining fields as 1 field (separated by "|"). I wrote 2 awk script to do and undo it (see below). However I'm new to awk and I'm certain I... (5 Replies)
Discussion started by: anthony.cros
5 Replies

10. Shell Programming and Scripting

Sed or awk script to remove text / or perform calculations from large CSV files

I have a large CSV files (e.g. 2 million records) and am hoping to do one of two things. I have been trying to use awk and sed but am a newbie and can't figure out how to get it to work. Any help you could offer would be greatly appreciated - I'm stuck trying to remove the colon and wildcards in... (6 Replies)
Discussion started by: metronomadic
6 Replies
Login or Register to Ask a Question