Sponsored Content
Top Forums Shell Programming and Scripting awk saving field of first file into array Post 302742295 by RozenKristal on Monday 10th of December 2012 11:27:05 PM
Old 12-11-2012
Quote:
Originally Posted by rdcwayx
How about it?
Code:
awk '{sub(/\$/,"",$2)}/paid/{a[$1]+=$2}/due/{a[$1]-=$2}
    END{for (i in a) printf "%s balance:$%.2f \n",i,a[i]}' infile

CoCo balance:$5.40
Euda balance:$45.00

Almost giving me the right output, sorry for confusion, in file one, there is no repeating for the field, so it appear only one. Only in file 2 that it can repeat. And the calculation I think is a bit off since line without $ and without 2 numbers after decimal points are treated as invalid, so nothing should be done. Here what I test with the code:
Code:
File1:
CoCo
Hiel
Euda
SJHF

File 2:
CoCo	$39.40	paid
CoCo	$34.00	due
Euda	45	due
CoCo	$16.05	due
Hiel	$50	paid
Euda	$12.45	due

Out put:
CoCo balance:$-10.65 
Euda balance:$-57.45 
Hiel balance:$50.00

What I think my desired output is:

Code:
CoCo balance: $-10.65
Euda balance: $-12.45
Hield balance: $50.00
SJHF balance: $0.00

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

saving awk value in a bash array variable

hi all i am trying to save an awk value into an array in bash: total=`awk '{sum+=$3} END {print sum}' "$count".txt"` ((count++)) the above statement is in a while loop.. $count is to keep track of file numbers (1.txt,2.txt,3.txt,etc.) i get the following error: ./lines1:... (1 Reply)
Discussion started by: npatwardhan
1 Replies

2. Shell Programming and Scripting

saving values from awk expression into shell array

hi i am trying to save the values i extract from a file with the help of awk in a bash shell array. i have: exec 10<file2 while read LINE <&10; do ARRAY1=$(awk '{print $1}' file2) ((count++)) done echo ${ARRAY1} it prints just blank lines. file1 has two columns and i... (4 Replies)
Discussion started by: npatwardhan
4 Replies

3. Shell Programming and Scripting

saving values in file in an array in awk

hi i am trying to save values in a file in an array in awk..the file is as follows: 0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0, so far i have this: awk 'BEGIN {RS="\n";FS=","} { for(i=1;i<=NR;i++) { for(j=1;j<=NF;j++) { a=$j; } } (4 Replies)
Discussion started by: npatwardhan
4 Replies

4. Shell Programming and Scripting

perl, put one array into many array when field is equal to sth

Hi Everyone, #!/usr/bin/perl use strict; use warnings; my @test=("a;b;qqq;c;d","a;b;ggg;c;d","a;b;qqq;c;d"); would like to split the @test array into two array: @test1=(("a;b;qqq;c;d","a;b;qqq;c;d"); and @test2=("a;b;ggg;c;d"); means search for 3rd filed. Thanks find the... (0 Replies)
Discussion started by: jimmy_y
0 Replies

5. Shell Programming and Scripting

Saving file content in arrays using AWK

Hi, im new to shell scripting. i have a query for which i have searched your forums but coulndt get what i need. i have a file that has two records of exactly the same length and format and they are comma seperated. i need to save the first and the second columns of the input file to 2 different... (11 Replies)
Discussion started by: atikan
11 Replies

6. Shell Programming and Scripting

awk assign output of array to specific field-number

With this script i want to print the output to a specific field-number . Can anybody help? awk 'NR=FNR{split(FILENAME,fn,"_");nr=$2;f = $1} END{for (i=1;i<=f;i++) print i,$fn=nr}' input_5.csv input_6.csvinput_5.csv 4 135 5 185 6 85 11 30input_6.csv 1 90 3 58 4 135 7 60 8 55 10... (1 Reply)
Discussion started by: sdf
1 Replies

7. Shell Programming and Scripting

How to split file into multiple files using awk based on 1 field in the file?

Good day all I need some helps, say that I have data like below, each field separated by a tab DATE NAME ADDRESS 15/7/2012 LX a.b.c 15/7/2012 LX1 a.b.c 16/7/2012 AB a.b.c 16/7/2012 AB2 a.b.c 15/7/2012 LX2 a.b.c... (2 Replies)
Discussion started by: alexyyw
2 Replies

8. Shell Programming and Scripting

Perl - use search keywords from array and search a file and print 3rd field when matched

Hi , I have been trying to write a perl script to do this job. But i am not able to achieve the desired result. Below is my code. my $current_value=12345; my @users=("bob","ben","tom","harry"); open DBLIST,"<","/var/tmp/DBinfo"; my @input = <DBLIST>; foreach (@users) { my... (11 Replies)
Discussion started by: chidori
11 Replies

9. Shell Programming and Scripting

awk to print array that occurs the most with matching value in another field

In the below awk I am splitting $7 on the : and then counting each line or NM_xxxx. If the $1 value is the same for each line then print the $7 that occurs the most with the matching $1 value. The awk seems close but I am not sure what is going on. I included a description as well as to what I... (1 Reply)
Discussion started by: cmccabe
1 Replies

10. UNIX for Beginners Questions & Answers

awk Associative Array and/or Referring to Field by String (Nonconstant String Value)

I will start with an example of what I'm trying to do and then describe how I am approaching the issue. File PS028,005 Lexeme HRS # M # PhraseType 1(1:1) 7(7) PhraseLab 501 503 ClauseType ZYq0 PS028,005 Lexeme W # L> # BNH # M #... (17 Replies)
Discussion started by: jvoot
17 Replies
PTSB(1p)						User Contributed Perl Documentation						  PTSB(1p)

NAME
ptsb - Interact with you Permanent TSB homebanking from your shell! SYNOPSIS
ptsb [options] Print accounts balance: "ptsb [ -F /path/of/conf/file ] -b" Print account statement: "ptsb [ -F /path/of/conf/file ] -s -a c -n <4digits" -f yyyy/mm/dd -t yyyy/mm/dd> If your are running Linux you can use the date --date command to simplify the date range definition. You can put these aliases on your ~/.bashrc: alias ptsb_stat='ptsb --statement -a c -n xyzt' alias ptst_last_month="statement_current -f `date +%Y/%m/%d --date='1 month ago'` -t `date +%Y/%m/%d`" OPTIONS
-h | --help this help usage message! -D | --debug Enable debug. This will be more verbose and will leave html on the current working directory. -F /path/to/config/file | --file /path/to/config/file filename configuration file path (default: ~/.ptsbrc). Please refer to manual page to see how this file is built. -b | --balance print account balance -s | --statement print account statement -T type | --transation-type type Type of transaction to look on the statement. Type can be: ALL, WITHDRAWAL, DEPOSIT -f | --from--date yyyy/mm/dd from date -t | --to-date yyyy/mm/dd to date -a [c | v] | --account-type [c | v] account type: can be 'c' (current account) or 'v' for (visa card) -n digits | --account-num digits 4 digits representing the last 4 digits of the account number or visa card number. -N | --no-balance Do not print balance when printing statement. -r | --regexp When printing statement grep using the regexp provided -e | --expr where expression is a mathematical expression like '<300' '=300' '>=300' the expression will test the euro amount column only lines matching the expression will be printed -g | --graph Print graph of the statement using gnuplot. Gnuplot is required! -i path | --image path Save PNG image in path. -o filename | --output filename Save the output of the statement inside a CSV file named filename. CSV format is: date,description,amount,balance last field presence depends on the -N flag. -v | --version Print version CONFIGURATION FILE
Configuration file default location is ~/.ptsbrc and it looks like this: -------8< -- ~/.ptsbrc -->8---------- open24_number=your_open24_number password=your_internet_password pan=your_personal_access_number -------8< --------------->8---------- However you can put wherever you want. Just remember to use then the option -F /path/to/your/location. Lines beginning with # will be interpreted as comment. Starting from release 0.08 ptsb will use GnuPG to encrypt the configuration file using the private key of the user. Therefore you'll have to create your key if you didn't do this yet. In case you want to decrypt your ptsbrc file use this command: $ gpg -d /path/to/your/ptsbrc This will print the encrypted file on the standard output. SEE ALSO
o Official CPAN page for Finance::Bank::IE::PermanentTSB http://search.cpan.org/~pallotron/Finance-Bank-IE-PermanentTSB/lib/Finance/Bank/IE/PermanentTSB.pm <http://search.cpan.org/~pallotron/Finance-Bank-IE-PermanentTSB/lib/Finance/Bank/IE/PermanentTSB.pm> o Author homepage <http://www.pallotron.net> o Author Blog (italian) <http://www.vitadiunsysadmin.net> o Author homepage on CPAN <http://search.cpan.org/~pallotron/> AUTHOR
Angelo "pallotron" Failla - <pallotron@freaknet.org> BUGS
Please report bugs to the author, no bug tracking system is set up yet. COPYRIGHT AND LICENSE
Copyright (C) 2009 by Angelo "pallotron" Failla This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available. perl v5.12.3 2009-02-17 PTSB(1p)
All times are GMT -4. The time now is 07:39 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy