Sponsored Content
Top Forums Shell Programming and Scripting Shell script to apply functions to multiple columns dynamically Post 303025750 by mkathi on Sunday 11th of November 2018 12:07:41 PM
Old 11-11-2018
Quote:
Originally Posted by RudiC
Not sure I fully understand what you're after, but try
Code:
awk -F\| '
NR == 1         {for (i=1; i<=NF; i++) if ("," MCOL "," ~ "," $i ",") COL[++CNT] = i
                 print $0, "HASHED COLUMNS", "HASHVALUE"
                 next
                }
                {TMP = ""
                 for (i=1; i<=CNT; i++) TMP = TMP $(COL[i])
                 ("echo -n " TMP " | md5sum") | getline MD5
                 sub (/ *-/, "", MD5)
                 print $0, MCOL, MD5
                }
' OFS="|" MCOL="ID,NAME" file
ID|NAME|AGE|GENDER|HASHED COLUMNS|HASHVALUE
10|ABC|30|M|ID,NAME|f2e88b4a581adf6c7833d95799b7a08c
20|DEF|20|F|ID,NAME|09b01f45ed9092b4c3c155911571bf31

and report back how far it gets you...
hello firstly thanks for the time.

Yes this is exactly what I am looking for but the generated hash values do not match in the above output for example the first row
Code:
10|ABC|30|M|ID,NAME|f2e88b4a581adf6c7833d95799b7a08c

the hash value is f2e88b4a581adf6c7833d95799b7a08c but here I am expecting output hash value as 73aca49763216fb96bbc2acef7b60afb i.e

Code:
10|ABC|30|M|ID,NAME|73aca49763216fb96bbc2acef7b60afb

the way i arrived to this value is

echo -n '10,abc'|md5sum and this returns me 73aca49763216fb96bbc2acef7b60afb

thanks

Last edited by RudiC; 11-11-2018 at 01:18 PM..
 

10 More Discussions You Might Find Interesting

1. Programming

reallocating structures dynamically in functions

I've recently started using structures, but I am having problems in allocating the structure dynamically. In the code below if i allocate the structure in the main program it works fine, and i get the expected output. However if i use the function rper below to increase the size of the structure i... (0 Replies)
Discussion started by: cezaryn
0 Replies

2. Shell Programming and Scripting

Managing dynamically multiple shell

I want to launch some shell scripts. I would have the possibility to change the number of shell scripts launched dynamically by modifying a variable, or a configuration file. For example, I start to launch 4 scripts at the same time, and after that, by modifying a variable, 6 scripts are... (0 Replies)
Discussion started by: gonzo38
0 Replies

3. Shell Programming and Scripting

Shell script dynamically case in VAR

Hallo, I am working on a kdialog. This shall be able to load the required commands from a .conf file. First step runs good by loading the entries (selectabel entries) in a variable: MIRRORSELECT=$(kdialog --radiolist "Select your nearest mirror" $VAR1) The kdialog is accordingly correct... (2 Replies)
Discussion started by: ACTGADE
2 Replies

4. Shell Programming and Scripting

how to create the files dynamically in c shell script

how can i CREATE a txt file dynamically in c shell: for instance: #! /bin/csh for each i (*) cat>file$i.txt for each j do .... (1 Reply)
Discussion started by: jdsignature88
1 Replies

5. Shell Programming and Scripting

How to run multiple functions in Background in UNIX Shell Scripting?

Hi, I am using ksh , i have requirement to run 4 functions in background , 4 functions call are available in a case that case is also in function, i need to execute 1st function it should run in background and return to case and next i will call 2nd function it should run in background and... (8 Replies)
Discussion started by: karthikram
8 Replies

6. Shell Programming and Scripting

Creating IN list in PLSQL script dynamically by using shell script

Hi all, I have a PLSQL script which has a IN list where it takes some ids as input. For example SELECT * FROM EMPLOYEE WHERE EMPLOYEE_ID IN (comma separated list ) I want to run this quest inside a shell script but I would like to prepare the IN list dynamically where the employee ids... (1 Reply)
Discussion started by: LoneRanger
1 Replies

7. Shell Programming and Scripting

Read Two Columns - Apply Condition on Six other columns

Hello All, Here is my input univ1 chr1 100 200 - GeneA 500 1 0 0.1 0.2 0.3 0.4 0.5 univ1 chr1 100 200 - GeneA 600 1 0 0.0 0.0 0.0 0.0 0.1 univ1 chr1 100 200 - GeneA 700 1 0 0.4 0.4 ... (2 Replies)
Discussion started by: jacobs.smith
2 Replies

8. Shell Programming and Scripting

How can I apply 'date' command to specific columns, in a BASH script?

Hi everyone, I have a situation in which I have multiple (3 at last count) date columns in a CSV file (, delim), which need to be changed from: January 1 2017 (note, no comma after day) to: YYYY-MM-DD So far, I am able to convert a date using: date --date="January 12, 1990" +%Y-%m-%d ... (7 Replies)
Discussion started by: richardsantink
7 Replies

9. UNIX for Beginners Questions & Answers

How to apply the update statement in multiple servers on multiple dbs at a time .?

Hi , Can any please help the below requirement on all multiple servers and multiple dbs. update configuration set value='yes' ;1) the above statement apply on 31 Databases at a time on different Ip address eg : 10.104.1.12 (unix ip address ) the above ip box contains 4 db's eg : db... (2 Replies)
Discussion started by: venkat918
2 Replies

10. UNIX for Beginners Questions & Answers

How to print multiple required columns dynamically in a file using the header name?

Hi All, i am trying to print required multiple columns dynamically from a fie. But i am able to print only one column at a time. i am new to shell script, please help me on this issue. i am using below script awk -v COLT=$1 ' NR==1 { for (i=1; i<=NF; i++) { ... (2 Replies)
Discussion started by: balu1234
2 Replies
STDBUF(1)						    BSD General Commands Manual 						 STDBUF(1)

NAME
stdbuf -- change standard streams initial buffering SYNOPSIS
stdbuf [-e bufdef] [-i bufdef] [-o bufdef] [command [...]] DESCRIPTION
stdbuf is used to change the initial buffering of standard input, standard output and/or standard error streams for command. It relies on libstdbuf(3) which is loaded and configured by stdbuf through environment variables. The options are as follows: -e bufdef Set initial buffering of the standard error stream for command as defined by bufdef (see BUFFER DEFINITION). -i bufdef Set initial buffering of the standard input stream for command as defined by bufdef (see BUFFER DEFINITION). -o bufdef Set initial buffering of the standard output stream for command as defined by bufdef (see BUFFER DEFINITION). BUFFER DEFINITION
Buffer definition is the same as in libstdbuf(3): "0" unbuffered "L" line buffered "B" fully buffered with the default buffer size size fully buffered with a buffer of size bytes (suffixes 'k', 'M' and 'G' are accepted) EXAMPLES
In the following example, the stdout stream of the awk(1) command will be fully buffered by default because it does not refer to a terminal. stdbuf is used to force it to be line-buffered so vmstat(8)'s output will not stall until the full buffer fills. # vmstat 1 | stdbuf -o L awk '$2 > 1 || $3 > 1' | cat -n SEE ALSO
libstdbuf(3), setvbuf(3) HISTORY
The stdbuf utility first appeared in FreeBSD 8.4. AUTHORS
The original idea of the stdbuf command comes from Padraig Brady who implemented it in the GNU coreutils. Jeremie Le Hen implemented it on FreeBSD. BSD
April 28, 2012 BSD
All times are GMT -4. The time now is 09:09 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy