Sponsored Content
Top Forums Shell Programming and Scripting Generate Join clause based on key data Post 302920947 by junior-helper on Monday 13th of October 2014 08:42:01 PM
Old 10-13-2014
Can't help you with your own approach, but following Perl code does exactly what you want:

genjoin.pl
Code:
#!/usr/bin/perl

use strict;
use warnings;

while (<>) {
    chomp;
    next if $_ =~ /TableName/;
    $_ =~ s/\s+//g;
    my ($tab, $cols) = split(/\|/, $_, 2);
    my @cols = split(/,/, $cols);

    for my $col (@cols) {
        $col="t1.$col=s.$col";
    }
    print "$tab | " . join(" AND ", @cols) . "\n";
}

Run it like so:
Code:
$ perl genjoin.pl pk.txt

If you like the result, then simply redirect the output to a file:
Code:
$ perl genjoin.pl pk.txt >outfile.txt

Hope this helps.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Relational Join (Composite Key)

hi, i have file 1: ====== 0501000|X1 0502000|X2 0501231|X3 0981222|X4 0502000|X6 0503000|X7 0932322|X8 file 2: ======= 050 0501 0502 09 098 (1 Reply)
Discussion started by: magedfawzy
1 Replies

2. Shell Programming and Scripting

"Join" or "Merge" more than 2 files into single output based on common key (column)

Hi All, I have working (Perl) code to combine 2 input files into a single output file using the join function that works to a point, but has the following limitations: 1. I am restrained to 2 input files only. 2. Only the "matched" fields are written out to the "matched" output file and... (1 Reply)
Discussion started by: Katabatic
1 Replies

3. Solaris

Help Generate SSL key in solaris.

How do I generate an SSL string in solaris 10? (3 Replies)
Discussion started by: Kjons76
3 Replies

4. Shell Programming and Scripting

generate report based on data in files.

Hi All, I need to develop a shell script which does sanity check of a data file, as below. 1. For DATE columns, it should check if date is given in proper format or not? For example, if format of date is expected as DD-MON-YYYY HH24:MI:SS and we received the date in formation like DDMMYYYY HH24,... (1 Reply)
Discussion started by: ace_friends22
1 Replies

5. Shell Programming and Scripting

Left Join in Unix based on Key?

So I have 2 files: File 1: 111,Mike,Stipe 222,Peter,Buck 333,Mike,Mills File 2: 222,Mr,Bono 444,Mr,Edge I want output to be below, where 222 records joined and all none joined records still in output 111,Mike,Stipe 222,Peter,Buck,Mr,Bono 333,Mike,Mills 444,Mr,Edge (4 Replies)
Discussion started by: stack
4 Replies

6. UNIX for Advanced & Expert Users

How to generate expiring SSH Key ?

Hi Gurus, I am stuck with a problem here for which I need your expert advice. I need to generate an SSH key in my Sun OS machine which should expire in 2 years. I usually generate the keys using ssh-keygen -t dsa but the keys generated like this would be non-expiring. I checked for the... (2 Replies)
Discussion started by: nathsaba
2 Replies

7. Shell Programming and Scripting

Generate tabular data based on a column value from an existing data file

Hi, I have a data file with : 01/28/2012,1,1,98995 01/28/2012,1,2,7195 01/29/2012,1,1,98995 01/29/2012,1,2,7195 01/30/2012,1,1,98896 01/30/2012,1,2,7083 01/31/2012,1,1,98896 01/31/2012,1,2,7083 02/01/2012,1,1,98896 02/01/2012,1,2,7083 02/02/2012,1,1,98899 02/02/2012,1,2,7083 I... (1 Reply)
Discussion started by: himanish
1 Replies

8. Shell Programming and Scripting

Join 2 CSVs based on 1 key

Hello, I have 2 csv as follows: a.csv: name,phone,adress,car xy,1234,asbd yz,2134,asbdf tc,6789,salkdur b.csv: telphone,vehicle 2134,toyota 6789,bmw 1234,honda What is need is this: output.csv: name,phone,adres,car xy,1234,asbd,honda yz,2134,asbdf,toyota (7 Replies)
Discussion started by: Zam_1234
7 Replies

9. Shell Programming and Scripting

In PErl script: need to read the data one file and generate multiple files based on the data

We have the data looks like below in a log file. I want to generat files based on the string between two hash(#) symbol like below Source: #ext1#test1.tale2 drop #ext1#test11.tale21 drop #ext1#test123.tale21 drop #ext2#test1.tale21 drop #ext2#test12.tale21 drop #ext3#test11.tale21 drop... (5 Replies)
Discussion started by: Sanjeev G
5 Replies

10. UNIX for Beginners Questions & Answers

Data match 2 files based on first 2 columns matching only and join if match

Hi, i have 2 files , the data i need to match is in masterfile and i need to pull out column 3 from master if column 1 and 2 match and output entire row to new file I have tried with join and awk and i keep getting blank outputs or same file is there an easier way than what i am... (4 Replies)
Discussion started by: axis88
4 Replies
TableMatrix::Spreadsheet(3pm)				       perl/Tk Documentation				     TableMatrix::Spreadsheet(3pm)

NAME
Tk::TableMatrix::Spreadsheet - Table Display with Spreadsheet-like bindings. SYNOPSIS
use Tk; use Tk::TableMatrix::Spreadsheet; my $t = $top->Scrolled('Spreadsheet', -rows => 21, -cols => 11, -width => 6, -height => 6, -titlerows => 1, -titlecols => 1, -variable => $arrayVar, -selectmode => 'extended', -titlerows => 1, -titlecols => 1, -bg => 'white', ); DESCRIPTION
Tk::TableMatrix::Spreadsheet is a Tk::TableMatrix-derived widget that implements some bindings so the resulting widget behaves more like a spreadsheet. Bindings Added: o Row/Col resize handles appear when the cursor is placed over a row/col border line in the rol/col title area. Dragging these handles will resize the row or column. If multiple rows or columns are selected, then the new row/col size will apply to all row/cols selected. Note: With the base Tk::TableMatrix, it is possible to resize the row/cols by dragging on any cell border. To be more spreadsheet-like, Tk::TableMatrix::Spreadsheet defaults to enable row/col resizing only thru the title row/col dragging. To override this default behavoir, set the -resizeborder option to 'both' at startup. o A popup menu for row/col insert/delete appears when the mouse is right-clicked in the row/col title areas. o Cells activate (i.e. the contents become edit-able) only when the cell is double-clicked or the F2 button is pressed. The default Tk::TableMatrix behavior is for the cell to be activated when the cell is single-clicked. o The Escape key causes any changes made to a cell to be canceled and the current selection cleared. o The return key causes the the current cell to move down. o The tab (or shift tab) key causes the current cell to be moved to the right (left). o The delete key will delete the current selection, if no cell is currently active. o The Mouse button 2 (middle button) paste from the PRIMARY. (Control-v pastes from the clipboard). Additional Information Widget methods, options, etc, are inherited from the Tk::TableMatrix widget. See its docs for additional information. Tk1.23 2007-01-09 TableMatrix::Spreadsheet(3pm)
All times are GMT -4. The time now is 03:34 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy