Sponsored Content
Full Discussion: File conversion and awk
Top Forums Shell Programming and Scripting File conversion and awk Post 302309882 by gehlnar on Thursday 23rd of April 2009 06:36:00 AM
Old 04-23-2009
File conversion and awk

Hi Everyone,
I am confused with the output of the input file and I am using below command in script to get the expected output.
Also I want to add another condition using logical AND (&&) in place of $2=="L"{$4=0-$4} as $2=="L" && $3=="L" {$4=0-$4} but I am getting some awk error.
Can someone please advise on this please?

Code:
 
cat $FILENAME |grep "^PL"|tr -d '\015'|sort -k1,2|nawk -F'|' 'BEGIN {OFS="~"}$2=="L"{$4=0-$4};$6=="COM"?$6="SHS":$6="FMT";{arr[$1"~"$5"~"$6]+=$4} END {for (i in arr) {print i,arr[i]}}'>$TEMPFILE
Input File 
============
ISIN|BL|STATUS|QTY|SNAME|CLASS
PLKGHM000017|B|L|85000|KGHM|COM
PLPKO0000016|B|L|310000|PKO S.A.|COM
|B|L|0||
PLKGHM000017|L|L|35000|KGHM|COM
PL0000101937|B|L|100000|DS1110|GOV
|L|L|0||
PLKGHM000017|L|L|40000|KGHM|COM
PLPKO0000016|L|L|290000|PKO S.A.|COM
Present Output
==============
PL0000101937~B~L~100000~DS1110~FMT
PLKGHM000017~B~L~85000~KGHM~SHS
PLKGHM000017~L~L~-35000~KGHM~SHS
PLKGHM000017~L~L~-40000~KGHM~SHS
PLPKO0000016~B~L~310000~PKO S.A.~SHS
PLPKO0000016~L~L~-290000~PKO S.A.~SHS
PLPKO0000016~PKO S.A.~SHS~20000
PL0000101937~DS1110~FMT~100000
PLKGHM000017~KGHM~SHS~10000
Expected Output
==============
PLPKO0000016~PKO S.A.~SHS~20000
PL0000101937~DS1110~FMT~100000
PLKGHM000017~KGHM~SHS~10000

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

String Conversion in awk

I am porting a awk script from Windows to unix I_SALE_MEDIA=$67 if ((I_VOID_FLAG == "Y") && (I_SALE_MEDIA == 0)) NOW consider the case where I_SALE_MEDIA i.e $67 is "000" The above comparison works fine in Windows , but to make it work in Unix , I had to change the above as follows : ... (3 Replies)
Discussion started by: rohanrege
3 Replies

2. Shell Programming and Scripting

awk script for date conversion

hi awk script for dd/mm/yyyy to yyyymmdd awk script for dd-mon-yyyy to yyyymmdd awk script for dd-mm-yyyy to yyyymmdd formate ..............urgent............. Thanks in advanced (2 Replies)
Discussion started by: charandevu
2 Replies

3. Shell Programming and Scripting

AWK Currency Conversion

How can I use awk command to convert values to currency. For example I have a database like follows John:200 smith:300 kim:405 and want it to out put like this John $200.00 (3 Replies)
Discussion started by: 3junior
3 Replies

4. Shell Programming and Scripting

HPUX to Linux awk conversion

I have the following script to edit ^'s and newlines out of files to be entered into a database. This script has been around since the dawn of time (way before me). #!/bin/bash # Remove all ^ and \n from the source file, except do not remove ^^^\n cat myfile.hold | awk ' BEGIN {FS="|";... (1 Reply)
Discussion started by: insania
1 Replies

5. Shell Programming and Scripting

Wiki conversion with Awk or Sed

I have the words in twiki format that I want to convert to mediawiki format like below : %BLUE%some words1%ENDCOLOR% bla bla blab labdad sdadasd adsasdads oerdkfj kdfjs %PINK%some wordks2 123.4.5.6/26%ENDCOLOR%, ksdjak dkasjd kjfrjkfgjdkfgjdfkgjdgdfgdgf %PURPLE%1.2.3.4/28%ENDCOLOR%, dskd... (3 Replies)
Discussion started by: rk4k
3 Replies

6. Shell Programming and Scripting

Conversion of line via awk or etc

Hello friends, could you help me about problem with my data lines. I suppose a simple awk code may help me. I have following data lines: (first line including 3 numbers and then a matrices of 4x10) 500 40 9 1 A B 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22... (6 Replies)
Discussion started by: rpf
6 Replies

7. Shell Programming and Scripting

Awk: conversion of matrix formats

hello, i would need a fast awk script for conversion of network formats (from 'sif' to 'adjacency' format): sif (pp means only: protein-protein interaction): A pp B A pp C B pp D D pp E in an adjacency n x n matrix: A B C D E A 0 1 1 0 0 B 1 0 0 1 0 C 1 0 0 0 0 D 0 1 0 0 1... (10 Replies)
Discussion started by: dietmar13
10 Replies

8. Shell Programming and Scripting

awk Flat File Conversion Script

In awk how would I flatten input.txt to output.txt? Input: givenname: Darth sn: Vadar mail: d.vadar@deathstar.com uid: dv12345 orclguid: 1234567890 givenname: Carlito sn: Brigante mail: c.brigante@paradise.com uid: cb12345 orclguid: 2134567890 Output: ... (3 Replies)
Discussion started by: u20sr
3 Replies

9. Shell Programming and Scripting

Numeral conversion in awk

I am running into conversion of string to numbers in awk that I can't understand and don't know how to deal with properly My script checks for numeric only field, I use this approach to do that: $1 + 0 == $1 It works most of the time, but in some cases it does not behave how I expect it to... (5 Replies)
Discussion started by: migurus
5 Replies

10. Shell Programming and Scripting

Base64 conversion in awk overlaps

hi, problem: output is not consistent as expected using external command in AWK description: I'm trying to convert $2 into a base64 string for later decoding, and for this when I use awk , I'm getting overlapped results , or say it results are not 100% correct. my code is: gawk... (9 Replies)
Discussion started by: busyboy
9 Replies
MD5(1)							    BSD General Commands Manual 						    MD5(1)

NAME
md5, sha1, sha256, sha512, rmd160 -- calculate a message-digest fingerprint (checksum) for a file SYNOPSIS
md5 [-pqrtx] [-c string] [-s string] [file ...] sha1 [-pqrtx] [-c string] [-s string] [file ...] sha256 [-pqrtx] [-c string] [-s string] [file ...] sha512 [-pqrtx] [-c string] [-s string] [file ...] rmd160 [-pqrtx] [-c string] [-s string] [file ...] DESCRIPTION
The md5, sha1, sha256, sha512 and rmd160 utilities take as input a message of arbitrary length and produce as output a ``fingerprint'' or ``message digest'' of the input. It is conjectured that it is computationally infeasible to produce two messages having the same message digest, or to produce any message having a given prespecified target message digest. The MD5, SHA-1, SHA-256, SHA-512 and RIPEMD-160 algo- rithms are intended for digital signature applications, where a large file must be ``compressed'' in a secure manner before being encrypted with a private (secret) key under a public-key cryptosystem such as RSA. MD5 has been completely broken as far as finding collisions is concerned, and should not be relied upon to produce unique outputs. This also means that MD5 should not be used as part of a cryptographic signature scheme. At the current time (2014-05-17) there is no publicly known method to ``reverse'' MD5, i.e., to find an input given a hash value. SHA-1 currently (2014-05-17) has no known collisions, but an attack has been found which is faster than a brute-force search, placing the security of SHA-1 in doubt. It is recommended that all new applications use SHA-256 instead of one of the other hash functions. The following options may be used in any combination and must precede any files named on the command line. The hexadecimal checksum of each file listed on the command line is printed after the options are processed. -c string Compare the digest of the file against this string. (Note that this option is not yet useful if multiple files are specified.) -s string Print a checksum of the given string. -p Echo stdin to stdout and append the checksum to stdout. -q Quiet mode -- only the checksum is printed out. Overrides the -r option. -r Reverses the format of the output. This helps with visual diffs. Does nothing when combined with the -ptx options. -t Run a built-in time trial. -x Run a built-in test script. EXIT STATUS
The md5, sha1, sha256, sha512 and rmd160 utilities exit 0 on success, 1 if at least one of the input files could not be read, and 2 if at least one file does not have the same hash as the -c option. SEE ALSO
cksum(1), md5(3), ripemd(3), sha(3), sha256(3), sha512(3) R. Rivest, The MD5 Message-Digest Algorithm, RFC1321. J. Burrows, The Secure Hash Standard, FIPS PUB 180-2. D. Eastlake and P. Jones, US Secure Hash Algorithm 1, RFC 3174. RIPEMD-160 is part of the ISO draft standard "ISO/IEC DIS 10118-3" on dedicated hash functions. Secure Hash Standard (SHS): http://csrc.nist.gov/cryptval/shs.html. The RIPEMD-160 page: http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html. ACKNOWLEDGMENTS
This program is placed in the public domain for free general use by RSA Data Security. Support for SHA-1 and RIPEMD-160 has been added by Oliver Eikemeier <eik@FreeBSD.org>. BSD
May 17, 2014 BSD
All times are GMT -4. The time now is 09:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy