Sponsored Content
Operating Systems Linux Merge two files based on matching criteria Post 302982454 by RudiC on Thursday 29th of September 2016 07:02:44 AM
Old 09-29-2016
Try this adaption of Don Cragun's recent proposal:
Code:
awk '
BEGIN           {FS = "[|]ÇÞ[|]"
                 OFS = "|ÇÞ|"
                }
NR == FNR       {NFK[$1] = NF
                 for(i = 2; i <= NF; i++) v[$1, i] = $i
                 next
                }
                {printf("%s%s", $1, (NF > 1) ? OFS : ORS)
                 for(i = 2; i <= NFK[$1]; i++) printf("%s%s", v[$1, i] "=" $i, (NFK[$1] > i) ? OFS : ORS)
                }
' key_file value_file
000|ÇÞ|Key_HF=Val_HF|ÇÞ|Key_FName        =Value_FName        
001|ÇÞ|Key_11=Val_11|ÇÞ|Sort_Key22=Sort_Val22|ÇÞ|Key_31=Val_31
085|ÇÞ|Key_15=Val_15|ÇÞ|Sort_Key26=Sort_Val26|ÇÞ|Key_35=Val_35|ÇÞ|Key_41=|ÇÞ|Key_42=null
100|ÇÞ|Key_11=Val_11|ÇÞ|Sort_Key29=Sort_Val29|ÇÞ|Sort_Key30=Sort_Val30|ÇÞ|Sort_Key31=|ÇÞ|Sort_Key32=
100|ÇÞ|Key_11=Val_11|ÇÞ|Sort_Key29=Sort_Val29|ÇÞ|Sort_Key30=Sort_Val30|ÇÞ|Sort_Key31=Sort_Val31|ÇÞ|Sort_Key32=
100|ÇÞ|Key_11=Val_11|ÇÞ|Sort_Key29=Sort_Val29|ÇÞ|Sort_Key30=Sort_Val30|ÇÞ|Sort_Key31=Sort_Val31|ÇÞ|Sort_Key32=Sort_Val32
300|ÇÞ|Key_10=Val_10|ÇÞ|Sort_Key30=Sort_Val30
400|ÇÞ|Key_14=Val_14|ÇÞ|Sort_Key31=Sort_Val31
500|ÇÞ|Key_15=Val_15|ÇÞ|Sort_Key32=Sort_Val32
999|ÇÞ|Key_SS=Val_SS

This User Gave Thanks to RudiC For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

deleting files and folders matching criteria

Hello, I'm spendind hours trying to figure out how a script could remove files and folders older than 30days in a given volume (/dataVolumes/Booba.1.0). Within this volume, all users have their personal folder that starts with "RC-..", so the script should skip them for deletion. I will... (4 Replies)
Discussion started by: H3001
4 Replies

2. AIX

Simultaneous searching for files (names matching certain criteria) in several directo

Hello everyone, My OS is AIX 5.2 I would like some help in getting command syntax that does the following: 1. Searches simultaneously several directories downward; 2. Checks every subdirectory in each directory (and so on...) for file names that contain certain characters such as “~”, start... (0 Replies)
Discussion started by: Hopeful
0 Replies

3. Shell Programming and Scripting

Script move and rename based on matching criteria

Hi all, i would like to create a script that move and rename files from all the subdirectories of a given directory to others subdirectories of the same directory based on "matching" criteria in the "from" and "to" parameters. Example: Begin script from /home/test/1_T_2008* move to... (3 Replies)
Discussion started by: braidomik
3 Replies

4. Shell Programming and Scripting

Archive files to different target folders based on criteria

Hi All, I am creting archive script in which i need to split the source file's to different target folder's based on the input file name first character. Input1.txt -- will contains file names that are needs to be Archive. Input1.txt A1213355 B2255666 C2254555 A6655444 C5566445 ... (2 Replies)
Discussion started by: kmsekhar
2 Replies

5. UNIX for Dummies Questions & Answers

How to select files based on a criteria?

I have a file..... xxx 2345 455 abc 345 555 cdf 456 777 fff 555 888 Now my requirement is, Say if, i want to select only those records prior to the record fff 555 888... how do i go about doing this in unix.... The fff would be hardcoded as it wud be fixed and everytime when i... (7 Replies)
Discussion started by: saggiboy10
7 Replies

6. UNIX for Dummies Questions & Answers

How to fetch files right below based on some matching criteria?

I have a requirement where in i need to select records right below the search criteria qwertykeyboard white 10 20 30 30 40 50 60 70 80 qwertykeyboard black 40 50 60 70 90 100 qwertykeyboard and white are headers separated by a tab. when i execute my script..i would be searching... (4 Replies)
Discussion started by: vinnu10
4 Replies

7. Shell Programming and Scripting

changing the file-name in a directory for all files matching a particular criteria

i have a directory which consist of multiple files out of which there are some files that has -e in their name. I want to write a script that will change all those file-name to -l example there are some files with name : file1-e.wav file2-e.wav file3-english-e.wav file-4-e.wav ... (3 Replies)
Discussion started by: mukulverma2408
3 Replies

8. Shell Programming and Scripting

Merge two files matching columns

Hi! I need to merge two files when col1 (x:x:x) matching and adds second column from file1.txt. # cat 1.txt aaa;a12 bbb;b13 ccc;c33 ddd;d55 eee;e11 # cat 2.txt bbb;b55;34444;d55 aaa;a15;35666;a44 I try with this awk and I get succesfully first column from 1.txt: # awk -F";"... (2 Replies)
Discussion started by: fhluque
2 Replies

9. Shell Programming and Scripting

How to merge two or more fields from two different files where there is non matching column?

Hi, Please excuse for often requesting queries and making R&D, I am trying to work out a possibility where i have two files field separated by pipe and another file containing only one field where there is no matching columns, Could you please advise how to merge two files. $more... (3 Replies)
Discussion started by: karthikram
3 Replies

10. Shell Programming and Scripting

How to merge two files with unique values matching.?

I have one script as below: #!/bin/ksh Outputfile1="/home/OutputFile1.xls" Outputfile2="/home/OutputFile2.xls" InputFile1="/home/InputFile1.sql" InputFile2="/home/InputFile2.sql" echo "Select hobby, class, subject, sports, rollNumber from Student_Table" >> InputFile1 echo "Select rollNumber... (3 Replies)
Discussion started by: Sharma331
3 Replies
glutInitWindowPosition(3GLUT)					       GLUT					     glutInitWindowPosition(3GLUT)

NAME
glutInitWindowPositionWindowPosition, glutInitWindowSize - set the initial window position and size respectively. SYNTAX
#include <GLUT/glut.h> void glutInitWindowSize(int width, int height); void glutInitWindowPosition(int x, int y); ARGUMENTS
width Width in pixels. height Height in pixels. x Window X location in pixels. y Window Y location in pixels. DESCRIPTION
Windows created by glutCreateWindow will be requested to be created with the current initial window position and size. The initial value of the initial window position GLUT state is -1 and -1. If either the X or Y component to the initial window position is negative, the actual window position is left to the window system to determine. The initial value of the initial window size GLUT state is 300 by 300. The initial window size components must be greater than zero. The intent of the initial window position and size values is to provide a suggestion to the window system for a window's initial size and position. The window system is not obligated to use this information. Therefore, GLUT programs should not assume the window was created at the specified size or position. A GLUT program should use the window's reshape callback to determine the true size of the window. EXAMPLE
If you would like your GLUT program to default to starting at a given screen location and at a given size, but you would also like to let the user override these defaults via a command line argument (such as -geometry for X11), call glutInitWindowSize and glutInitWindowPosi- tion before your call to glutInit. For example: int main(int argc, char **argv) { glutInitWindowSize(500, 300); glutInitWindowPosition(100, 100); glutInit(&argc, argv); ... } However, if you'd like to force your program to start up at a given size, call glutInitWindowSize and glutInitWindowPosition after your call to glutInit. For example: int main(int argc, char **argv) { glutInit(&argc, argv); glutInitWindowSize(500, 300); glutInitWindowPosition(100, 100); ... } SEE ALSO
glutInit, glutCreateWindow, glutCreateSubWindow, glutReshapeFunc, glutGet AUTHOR
Mark J. Kilgard (mjk@nvidia.com) GLUT
3.7 glutInitWindowPosition(3GLUT)
All times are GMT -4. The time now is 02:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy