Sponsored Content
Top Forums Shell Programming and Scripting merging of 2 files AWK, SHELL or something else Post 302158689 by klut on Wednesday 16th of January 2008 05:11:30 AM
Old 01-16-2008
Bug merging of 2 files AWK, SHELL or something else

I have 2 files pipe delimted and want to merge them based on a key

e.g file 1

123|xxx|yyy|zzz
345|xab|yzy|zyz
456|sss|ttt|foo

file 2

123|hhh|ggg|xxx
345|ddd|www|ddd|fff
456|ddd|sss|sss|eee

so if the key is the first field, and the result should be file 1 with field 2 from file 2 based on the key

i.e. result will be

123|hhh|yyy|zzz
345|ddd|ysy|zyz
456|ddd|ttt|foo
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Merging files with AWK filtering and counting lines

Hi there, I have a couple of files I need to merge. I can do a simple merge by concatenating them into one larger file. But then I need to filter the file to get a desired result. The output looks like this: TRNH 0000000010941 ORDH OADR OADR ORDL ENDT 1116399 000000003... (2 Replies)
Discussion started by: Meert
2 Replies

2. Shell Programming and Scripting

merging of 2 files AWK - part 2

i have try , but i think i will never learn awk :( now i have 2 files : a 1:aaa:2:aaa1 2:bbb:2:bbb1 3:ccc:3:ccc1 b aaa:2 bbb:0 ccc:3 output: for all lines where a.$2 == b.$1 i want to compare a.$3 != b.$2 if true then set err=1 if false set err=0 and print all lines from file a +... (2 Replies)
Discussion started by: pp56825
2 Replies

3. Shell Programming and Scripting

awk merging files based on 2 complex conditions

1. if the 1st row IDs of input1 (ID1/ID2.....) is equal to any IDNames of input2 print all relevant values together as defined in the output. 2. A bit tricky part is IDno in the output. All we need to do is numbering same kind of letters as 1 (aa of ID1) and different letters as 2 (ab... (4 Replies)
Discussion started by: ruby_sgp
4 Replies

4. Shell Programming and Scripting

awk command : row by row merging of two files

I want to write a scrpit to merge files row wise (actually concatinating) main.txt X Y Z file 1 A B C file 2 1 2 3 now i want the script to check if the file1 is empty or not, if empty then make it like A B C 1 2 3 again to check if second file is empty if not do as done... (0 Replies)
Discussion started by: shashi792
0 Replies

5. Shell Programming and Scripting

AWK Script For Merging Text Files

Hello, I am trying to merge data from two text files. One file (File1) contains a listing of data which includes the trial number in Column 5, while the other text file (File2) contains what category the trial belongs to. Here is a snippet of what File1 looks like. 1 Arrow_ST 9.738 0.905... (2 Replies)
Discussion started by: Jahn
2 Replies

6. Shell Programming and Scripting

merging files using awk

Hi, I have 2 files. File 1 chr1 1234 2468 ABC chr1 3456 4567 DEF chr2 5643 6154 XYZ : : : : so on.... File 2 chr1 1500 2500 positive chr1 2500 3500 negative chr1 3000 4500 neutral (10 Replies)
Discussion started by: Diya123
10 Replies

7. Shell Programming and Scripting

Merging two files in awk

Hi, How I can merge two file columns such as the followings using awk: file 1 2 3 2 2 1 1 file 2 4 3 4 5 7 6 Result: 2 3 4 3 2 2 4 5 1 1 7 6 This is an example, at the end, I will have about 25 files that I want to merge them, it is important for me that the order in the... (7 Replies)
Discussion started by: Homa
7 Replies

8. Shell Programming and Scripting

Merging rows in awk

Hello, I have a data format as follows: Ind1 0 1 2 Ind1 0 2 1 Ind2 1 1 0 Ind2 2 2 0 I want to use AWK to have this output: Ind1 00 12 21 Ind2 12 12 00 That is to merge each two rows with the same row names. Thank you very much in advance for your help. (8 Replies)
Discussion started by: Homa
8 Replies

9. Shell Programming and Scripting

Merging Files in UNIX shell script

I have the urge to merge some files using unix shell script but I'm very new using this language and I haven't succeeded yet. The requirement is to merge the header, body and footer into one file with the name "ANY-NAME" in below example. To identify which files should be merged, I have flagged... (9 Replies)
Discussion started by: black_soul
9 Replies

10. Shell Programming and Scripting

awk Merging multiple files with symbol representing new file

I just tried following ls *.dat|sort -t"_" -k2n,2|while read f1 && read f2; do awk '{print}' $f1 awk FNR==1'{print $1,$2,$3,$4,$5,"*","*","*" }' OFS="\t" $f2 awk '{print}' $f2 donegot following result 18-Dec-1983 11:45:00 AM 18.692 84.672 0 25.4 24 18-Dec-1983 ... (3 Replies)
Discussion started by: Akshay Hegde
3 Replies
Config::Model::Loader(3pm)				User Contributed Perl Documentation				Config::Model::Loader(3pm)

NAME
Config::Model::Loader - Load serialized data into config tree VERSION
version 2.021 SYNOPSIS
use Config::Model; use Log::Log4perl qw(:easy); Log::Log4perl->easy_init($WARN); # define configuration tree object my $model = Config::Model->new; $model->create_config_class( name => "Foo", element => [ [qw/foo bar/] => { type => 'leaf', value_type => 'string' }, ] ); $model ->create_config_class ( name => "MyClass", element => [ [qw/foo bar/] => { type => 'leaf', value_type => 'string' }, hash_of_nodes => { type => 'hash', # hash id index_type => 'string', cargo => { type => 'node', config_class_name => 'Foo' }, }, [qw/lista listb/] => { type => 'list', cargo => {type => 'leaf', value_type => 'string' } }, ], ) ; my $inst = $model->instance(root_class_name => 'MyClass' ); my $root = $inst->config_root ; # put data my $step = 'foo=FOO hash_of_nodes:fr foo=bonjour - hash_of_nodes:en foo=hello ! lista=foo,bar lista:2=baz listb:0=foo listb:1=baz'; $root->load( step => $step ); print $root->describe," " ; # name value type comment # foo FOO string # bar [undef] string # hash_of_nodes <Foo> node hash keys: "en" "fr" # lista foo,bar,baz list # listb foo,baz list # delete some data $root->load( step => 'lista~2' ); print $root->describe(element => 'lista')," " ; # name value type comment # lista foo,bar list # append some data $root->load( step => q!hash_of_nodes:en foo.=" world"! ); print $root->grab('hash_of_nodes:en')->describe(element => 'foo')," " ; # name value type comment # foo "hello world" string DESCRIPTION
This module is used directly by Config::Model::Node to load serialized configuration data into the configuration tree. Serialized data can be written by the user or produced by Config::Model::Dumper while dumping data from a configuration tree. CONSTRUCTOR
new ( ) No parameter. The constructor should be used only by Config::Model::Node. load string syntax The string is made of the following items (also called "actions") separated by spaces: - Go up one node ! Go to the root node of the configuration tree. xxx Go down using "xxx" element. (For "node" type element) xxx:yy Go down using "xxx" element and id "yy" (For "hash" or "list" element with "node" cargo_type) xxx=~/yy/ Go down using "xxx" element and loop over the ids that match the regex. (For "hash") For instance, with "OpenSsh" model, you could do Host=~/.*.debian.org/ user='foo-guest' to set "foo-user" users for all your debian accounts. xxx~yy Delete item referenced by "xxx" element and id "yy". For a list, this is equivalent to "splice xxx,yy,1". This command does not go down in the tree (since it has just deleted the element). I.e. a '"-"' is generally not needed afterwards. xxx=zz Set element "xxx" to value "yy". load also accepts to set elements with a quoted string. (For "leaf" element) For instance "foo="a quoted string"". Note that you cannot embed double quote in this string. I.e "foo="a "quoted" string"" will fail. xxx~ Undef element "xxx" xxx=z1,z2,z3 Set list element "xxx" to list "z1,z2,z3". Use ",," for undef values, and "" for empty values. I.e, for a list "('a',undef,'','c')", use "a,,"",c". xxx:yy=zz For "hash" element containing "leaf" cargo_type. Set the leaf identified by key "yy" to value "zz". Using "xxx=~/yy/=zz" is also possible. xxx.=zzz Will append "zzz" value to current values (valid for "leaf" elements). xxx#zzz or xxx:yyy#zzz Element annotation. Can be quoted or not quoted. Note that annotations are always placed at the end of an action item. I.e. "foo#comment", "foo:bar#comment" or "foo:bar=baz#comment" are valid. "foo#comment:bar" is not valid. Quotes You can surround indexes and values with double quotes. E.g.: a_string=""titi" and "toto"" Methods load ( ... ) Load data into the node tree (from the node passed with "node") and fill values as we go following the instructions passed with "step". ("step" can also be an array ref). Parameters are: node node ref of the root of the tree (of sub-root) to start the load from. step A string or an array ref containing the steps to load. See above for a description of the string. experience Specify the experience level used during the load (default: "master"). The experience can be "intermediate advanced master". The load will raise an exception if the step of the load string tries to access an element with experience higher than user's experience. check Whether to check values while loading. Either "yes" (default), "no" or "skip". Loading with "skip" will discard bad values. AUTHOR
Dominique Dumont, (ddumont at cpan dot org) SEE ALSO
Config::Model,Config::Model::Node,Config::Model::Dumper perl v5.14.2 2012-11-09 Config::Model::Loader(3pm)
All times are GMT -4. The time now is 05:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy