Sponsored Content
Top Forums Shell Programming and Scripting Join 3 or more files using matching column Post 302517588 by cyz700 on Wednesday 27th of April 2011 07:56:50 AM
Old 04-27-2011
Great!

For 4 files with awk I tried:

awk 'ARGIND==1{a[$1]=$0 "null null null";next;}
ARGIND==2{if($1 in a)sub(/ null /, " "$1" ",a[$1]);else a[$1]="null "$1" null null";next; }
ARGIND==3{if($1 in a)sub(/ null$/," "$1" ",a[$1]); else a[$1]="null null "$1" null";}
ARGIND==4{if($1 in a)sub(/ null$/," "$1" ",a[$1]); else a[$1]="null null null "$1"";}
END{for(i in a)print a[i]}' file1 file2 file3 file4

Seems to work, only columns coming from file3 and file 4 a swapped...

Minor question, by some reason there are 13 spaces between columns 1 and 2, how come?

cyz
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Join 3 files using key column in a mapping file

I'm new of UNIX shell scripting. I'm recently generating a excel report in UNIX(file with delimiter is fine). How should I make a script to do it? 1 file to join comes from output of one UNIX command, the second from another UNIX command, and third from a database query. The key columes of all... (7 Replies)
Discussion started by: bigsmile
7 Replies

2. UNIX for Dummies Questions & Answers

Join 2 files using first column

Hi, I'm trying to compare the first column of two files (tab or whitespace delimited, either way's fine, I`ve got both) and print the lines that are identical for the first column of both files. Something like this: File1 AAA 26 49 7 27 36 33 46 75 73 69 AAAAA 4 10 4 7 10 18 21... (2 Replies)
Discussion started by: vanesa1230
2 Replies

3. Shell Programming and Scripting

Join multiple files by column with awk

Hi all, I searched through the forum but i can't manage to find a solution. I need to join a set of files placed in a directory (~1600) by column, and obtain an output with first and second column common to each file, but following columns are taken from the file in the list (precisely the fourth... (10 Replies)
Discussion started by: macsx82
10 Replies

4. Shell Programming and Scripting

Matching the substring and join two files

Hi I had two files like below. file-1 101001234567890 101001234567891 101001234567892 101001234567893 101001234567894 101001234567895 101001234567896 101001234567897 101001234567898 101001234567899 file-2 (6 Replies)
Discussion started by: p_sai_ias
6 Replies

5. Shell Programming and Scripting

join two files based on one column

Hi All, I am trying to join to files based on one common column. Cat File1 ID HID Ab_1 23 Cd 45 df 22 Vv 33 Cat File2 ID pval Ab_1 0.3 Cd 10 Vv 0.0444 (3 Replies)
Discussion started by: newpro
3 Replies

6. UNIX for Dummies Questions & Answers

How to use the the join command to join multiple files by a common column

Hi, I have 20 tab delimited text files that have a common column (column 1). The files are named GSM1.txt through GSM20.txt. Each file has 3 columns (2 other columns in addition to the first common column). I want to write a script to join the files by the first common column so that in the... (5 Replies)
Discussion started by: evelibertine
5 Replies

7. Shell Programming and Scripting

Join two files with matching columns

Hi, I need to join two files together with one common value in a column. I think I can use awk or join or a combination but I can't quite get it. Basically my data looks like this, with the TICKER columns matching up in each file File1 TICKER,column 1, column, 2, column, 3, column 4 ... (6 Replies)
Discussion started by: unkleruckus
6 Replies

8. UNIX for Dummies Questions & Answers

Join files by second column

I have file input file1 1/1/2013 A 553.0763397 96 16582 1/1/2013 B 459.8333588 195 11992 1/2/2013 A 844.2973022 306 19555 1/2/2013 B 833.9300537 457 20165 1/3/2013 A 563.6917419 396 13879 1/3/2013 B 632.0749969 169 ... (1 Reply)
Discussion started by: radius
1 Replies

9. UNIX for Dummies Questions & Answers

Join 2 files based on certain column

I have file input1.txt 11103|11|OTTAWA|City|AA|CAR|0|0|1|-1|0|8526|2014-09-07 23:00:14 11103|11|OTTAWA|City|BB|TRAIN|0|0|2|-2|6|6359|2014-09-07 23:00:14 11104|11|CANADA|City|CC|CAR|0|0|2|-2|0|5947|2014-09-07 23:00:14 11104|11|CANADA|City|DD|TRAIN|0|0|2|-2|1|4523|2014-09-07 23:00:14... (5 Replies)
Discussion started by: radius
5 Replies

10. Shell Programming and Scripting

Join 2nd column of multiple files

Dear All, I have many files formatted like this: file1.txt: 1/2-SBSRNA4 18 A1BG 3 A1BG-AS1 6 A1CF 0 A2LD1 1 A2M 1160 file2.txt 1/2-SBSRNA4 53 A1BG 1 A1BG-AS1 7 A1CF 0 A2LD1 3 A2M 2780 (5 Replies)
Discussion started by: paolo.kunder
5 Replies
TAGGREPPER(1)							   User Commands						     TAGGREPPER(1)

NAME
taggrepper - search and match tags of media file for regular expressions SYNOPSIS
taggrepper [--tag-label regexp]... [--display-taglabel]... [FILE/DIRECTORY]... DESCRIPTION
Perform a regular expression search on the tags of specified media files. Mandatory arguments to long options are mandatory for short options too. All regular expressions are Perl Compatible Regular expressions supported by the PCRE libraries. Note that all matches are ANDed, meaning that for a successful match, matches against all tags must occur. Support exists for MP3 files, and, if compiled in, for Ogg Vorbis and FLAC files as well. -t, --title=REGEXP Match the title tag against REGEXP -a, --artist=REGEXP Match the artist tag against REGEXP -l, --album=REGEXP Match the album, tag against REGEXP -y, --year=REGEXP Match the year tag against REGEXP -g, --genre=REGEXP Match the genre tag against REGEXP -c, --comment=REGEXP Match the comment tag against REGEXP --track=REGEXP Match the track tag against REGEXP -c, --composer=REGEXP Match the composer tag against REGEXP -o, --orig-artist=REGEXP Match the original artist tag against REGEXP -c, --copyright=REGEXP Match the copyright tag against REGEXP -u, --url=REGEXP Match the URL tag against REGEXP -e, --encoded-by=REGEXP Match the encoded-by tag against REGEXP --any-tag=REGEXP Match the encoded-by tag against REGEXP. Using this option makes every one of the above options to be ignored --display-title display title tag of matching files --display-artist display artist tag of matching files --display-album display album tag of matching files --display-year display year tag of matching files --display-genre display genre tag of matching files --display-comment display comment tag of matching files --display-track display track tag of matching files --display-composer display composer tag of matching files --display-orig-artist display orig-artist tag of matching files --display-copyright display copyright tag of matching files --display-url display url tag of matching files --display-encoded-by display encoded-by tag of matching files -0, --print0, Use null character as delimiter. This option can be used with -0 option of xargs. -r, --recursive Search directories recursively -v, --version Display version and exit -h, --help Display this help message All regular expressions are PCRE regular expressions. Refer to the PCRE documentation for details. Report comments and bugs to a.kumar@alumni.iitm.ac.in COPYING
Copyright (C) Kumar Appaiah License: BSD License (see COPYING file in the distribution tarball for details) This program is free software; you can distribute it under the terms of the BSD License. See the file COPYING in the tarball, or /usr/share/common-licenses/BSD on Debian-based systems. SEE ALSO
pcre(3) taggrepper 0.01 July 2009 TAGGREPPER(1)
All times are GMT -4. The time now is 02:37 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy