Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Merge two text files (oh no, not again!) Post 302961140 by RudiC on Tuesday 24th of November 2015 11:33:49 AM
Old 11-24-2015
Would this be close?
Code:
awk 'NR==FNR {T[$1]=$5; next} {print $0 T[$1],""}' FS=";" OFS=";" file1 file2
RB-4.762/G10Q M1         04763-010M01R3-01       ;   940800;        0;  3460800;  2744000;
RB-4.762/G10Q M2         04763-010M02R3-01       ;   940800;        0;  1769600;  4020800;
RB-4.762/G10Q M3         04763-010M03R3-01       ;  1881600;        0;  1041600;  2587200;
RB-4.762/G10Q M4         04763-010M04R3-01       ;   470400;        0;  1164800;  3124800;
RB-4.762/G10Q M5         04763-010M05R3-01       ;   470400;        0;  1422400;  1142400;
RB-4.762/G10Q N          04763-010PM0R3-01       ;  2822400;        0;  2721600;  5062400;
RB-4.762/G10Q P1         04763-010P01R3-01       ;  2822400;        0;  2676800;  2900800;
RB-4.762/G10Q P2         04763-010P02R3-01       ;   470400;        0;  1948800;;
RB-4.762/G10Q P3         04763-010P03R3-01       ;        0;        0;   604800;;
RB-4.762/G10Q P4         04763-010P04R3-01       ;   940800;        0;  1097600;;

---------- Post updated at 17:33 ---------- Previous update was at 17:28 ----------

Sorry, overlooked part of the requirement. Better:
Code:
awk 'NR==FNR {P[$1]=$5; T[$1]=$0; next} {print $0 P[$1],""; delete T[$1]} END {for (t in T) print T[t]}' FS=";" OFS=";" file1 file2
RB-4.762/G10Q M1         04763-010M01R3-01       ;   940800;        0;  3460800;  2744000;
RB-4.762/G10Q M2         04763-010M02R3-01       ;   940800;        0;  1769600;  4020800;
RB-4.762/G10Q M3         04763-010M03R3-01       ;  1881600;        0;  1041600;  2587200;
RB-4.762/G10Q M4         04763-010M04R3-01       ;   470400;        0;  1164800;  3124800;
RB-4.762/G10Q M5         04763-010M05R3-01       ;   470400;        0;  1422400;  1142400;
RB-4.762/G10Q N          04763-010PM0R3-01       ;  2822400;        0;  2721600;  5062400;
RB-4.762/G10Q P1         04763-010P01R3-01       ;  2822400;        0;  2676800;  2900800;
RB-4.762/G10Q P2         04763-010P02R3-01       ;   470400;        0;  1948800;;
RB-4.762/G10Q P3         04763-010P03R3-01       ;        0;        0;   604800;;
RB-4.762/G10Q P4         04763-010P04R3-01       ;   940800;        0;  1097600;;
RB-4.762/G10Q P1-R3      04763-010P01R3-01       ;         ;         ;         ;  1176000;
RB-4.762/G10Q N-R3       04763-010PM0R3-01       ;         ;         ;         ;   940800;
RB-4.762/G10Q M3-R3      04763-010M03R3-01       ;         ;         ;         ;   470400;

?
This User Gave Thanks to RudiC For This Post:
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Is there any non graphical tool that make selective merge between text files?

whitout using awk / sad and so on? (3 Replies)
Discussion started by: umen
3 Replies

2. Shell Programming and Scripting

Merge text files while combining the multiple header/trailer records into one each.

Situation: Our system currently executes a job (COBOL Program) that generates an interface file to be sent to one of our vendors. Because this system processes information for over 100,000 employees/retirees (and growing), we'd like to multi-thread the job into processing-groups in order to... (4 Replies)
Discussion started by: oordonez
4 Replies

3. AIX

merge text files

Hello. Could you please help to know the command to merge multiple text files into one? I am thinking to use: cat f1.txt f2.txt f3.txt > f4.txt Is it okay to use cat command for same purpose - Or could there be any disadvantage in using it? Thank you (4 Replies)
Discussion started by: panchpan
4 Replies

4. Shell Programming and Scripting

Have several text files and want to merge into a single

Hello, I have several files that begin with db. in my directory and I would like to first take it from a specific word starting from $TTL until the end of the contents then do the same all the way down the directory then merge them into one txt file. Is this possible? I am using cygwin with... (4 Replies)
Discussion started by: richsark
4 Replies

5. Shell Programming and Scripting

merge two text files of different size on common index

I have two text files. text file 1: ID filePath col1 col2 col3 1 10584588.mol 269.126 190.958 23.237 2 10584549.mol 281.001 200.889 27.7414 3 10584511.mol 408.824 158.316 29.8561 4 10584499.mol 245.632 153.241 25.2815 5 10584459.mol ... (8 Replies)
Discussion started by: LMHmedchem
8 Replies

6. Shell Programming and Scripting

Merge the multiple text files into one file

Hi All, I am trying to merge all the text files into one file using below snippet cat /home/Temp/Test/Log/*.txt >> all.txt But it seems it is not working. I have multiple files like Output_ServerName1.txt, Output_ServreName2.txt I want to merge each file into one single file and... (6 Replies)
Discussion started by: sharsour
6 Replies

7. Shell Programming and Scripting

Need to merge multiple text files vertically and place comma between fields

Hello expert friends, I'm writing a script to capture stats using sar and stuck up at report generation. I have around 10 files in a directory and need to merge them all vertically based on the time value of first column (output file should have only one time value) and insert comma after... (6 Replies)
Discussion started by: prvnrk
6 Replies

8. Shell Programming and Scripting

Merge and Sort tabular data from different text files

I have 42 text files; each containing up to 34 lines with following structure; file1 H-01 23 H-03 5 H-05 9 H-02 14 . . file2 H-01 17 H-02 43 H-04 7 H-05 8 H-03 7 . . file3 (6 Replies)
Discussion started by: Syeda Sumayya
6 Replies

9. UNIX for Dummies Questions & Answers

Merge two text files by two fields and mixed output

Hello, I'm back again looking for your precious help- This time I need to merge two text files with matching two fields, output only common records with mixed output. Let's look at the example: FILE1 56153;AAA0708;3;TEST1TEST1; 89014;BBB0708;3;TEST2TEST2; 89014;BBB0708;4;TEST3TEST3; ... (7 Replies)
Discussion started by: emare
7 Replies
DEBCONF-MERGETEMPLATE(1)					      Debconf						  DEBCONF-MERGETEMPLATE(1)

NAME
debconf-mergetemplate - merge together multiple debconf template files SYNOPSIS
debconf-mergetemplate [options] [templates.ll ...] templates DESCRIPTION
Note: This utility is deprecated. You should switch to using po-debconf's po2debconf program. This program is useful if you have multiple debconf templates files which you want to merge together into one big file. All the specified files will be read in, merged, and output to standard output. This can be especially useful if you are dealing with translated template files. In this case, you might have your main template file, plus several other files provided by the translators. These files will have translated fields in them, and maybe the translators left in the english versions of the fields they translated, for their reference. So, you want to merge together all the translated templates files with your main templates file. Any fields that are unique to the translated files need to be added in to the correct templates, but any fields they have in common should be superseded by the fields in the main file (which might be more up-to-date). This program handles that case properly, just list each of the translated templates files, and then your main templates file last. OPTIONS
--outdated Merge in even outdated translations. The default is to drop them with a warning message. --drop-old-templates If a translation has an entire template that is not in the master file (and thus is probably an old template), drop that entire template. SEE ALSO
debconf-getlang(1) AUTHOR
Joey Hess <joeyh@debian.org> 2012-09-10 DEBCONF-MERGETEMPLATE(1)
All times are GMT -4. The time now is 03:34 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy