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
JIS2K(3)						User Contributed Perl Documentation						  JIS2K(3)

NAME
Encode::JIS2K - JIS X 0212 (aka JIS 2000) Encodings SYNOPSIS
use Encode::JIS2K; use Encode qw/encode decode/; $euc_2k = encode("euc-jisx0213", $utf8); $utf8 = decode("euc-jisx0213", $euc_jp); ABSTRACT
This module implements encodings that covers JIS X 0213 charset (AKA JIS 2000, hence the module name). Encodings supported are as follows. Canonical Alias Description -------------------------------------------------------------------- euc-jisx0213 qr/euc.*jp[ -]?(?:2000|2k)$/i EUC-JISX0213 qr/jp.*euc[ -]?(2000|2k)$/i qr/ujis[ -]?(?:2000|2k)$/i shiftjisx0123 qr/shift.*jis(?:2000|2k)$/i Shift_JISX0213 qr/sjisp -]?(?:2000|2k)$/i iso-2022-jp-3 jis0213-1-raw JIS X 0213 plane 1, raw format jis0213-2-raw JIS X 0213 plane 2, raw format -------------------------------------------------------------------- DESCRIPTION
To find out how to use this module in detail, see Encode. what is JIS X 0213 anyway? Simply put, JIS X 0213 is a rework and reorganization of JIS X 0208 and JIS X 0212. They consist of two 94x94 planes which roughly corrensponds as follows; JIS X 0213 Plane 1 = JIS X 0208 + extension JIS X 0213 Plane 2 = JIS X 0212 reorganized + extension And here is the character repertoire there of at a glance. # of codepoints Kuten Ku (rows) used -------------------------------------------------------- JIS X 0208 6,879 1..8,16..83 JIS X 0213-1 8,762 1..94 (all!) JIS X 0212 6,067 2,6..7,9..11,16..77 JIS X 0213-2 2,436 1,3..5,8,12..15,78..94 ------------------------------------------------------- (JIS X0213 Total) 11,197 JIS X 0213 was designed to extend JIS X 0208 and JIS X 0212 without being imcompatible to (classic) EUC-JP and Shift_JIS. The following characteristics are as a result thereof. o JIS X plane 1 is (almost) a superset of JIS X 0208. However, with Unicode 3.2.0 the mappings differ in 3 codepoints. Kuten JIS X 0208 -> Unicode JIS X 0213 -> Unicode -------------------------------------------------------------- 1-1-17 <UFFE3> # FULLWIDTH MACRON <U203E> # OVERLINE 1-1-29 <U2014> # EM DASH <U2015> # HORIZONTAL BAR 1-1-79 <UFFE5> # FULLWIDTH YEN SIGN <U00A5> # YEN SIGN o By the same token, JIS X 0213 plane 2 contains JIS Dai-4 Suijun Kanji (JIS Kanji Repertoire Level 4). This allows EUC-JP's G3 to contain both JIS X 0212 and JIS 0213 plane 2. However, JIS X 0212:1990 already contains many of Dai-4 Suijun Kanji so EUC's G3 is subject to containing duplicate mappings. o Because of Halfwidth Katakana, Shift_JIS mapping has been tricky and it is even trickier. Here is a regex that matches Shift_JISX0213 sequence (note: you have to "use bytes" to make it work!) $re_valid_shifjisx0213 = qr/^(?: [x00-x7f] | # ASCII or [xa1-xdf] | # JIS X 0201 KANA or [x81-x9fxe0-xfc][x40-x7ex80-xfc] # JIS X 0213 )+$/xo; Note on EUC-JISX0213 (vs. EUC-JP) As of Encode-1.64, 'euc-jp' does support euc-jisx0213 for decoding. However, 'euc-jp' in Encode and 'euc-jisx0213' differ as follows; euc-jp euc-jisx0213 -------------------------------------------------------------- Decodes.... (0201-K|0208|0212|0213) ditto Round-Trip (|0) (020-K|0208|0212) JIS X (0201-K|0213) Decode Only (|3) those only found in 0213 those only found in 0212 -------------------------------------------------------------- AUTHORS
Dan Kogai <dankogai@dan.co.jp> COPYRIGHT
Copyright 2002 by Dan Kogai <dankogai@dan.co.jp>. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See <http://www.perl.com/perl/misc/Artistic.html> SEE ALSO
Encode, Encode::JP Japanese Graphic Character Set for Information Interchange -- Plane 1 http://www.itscj.ipsj.or.jp/ISO-IR/228.pdf <http://www.itscj.ipsj.or.jp/ISO-IR/228.pdf> Japanese Graphic Character Set for Information Interchange -- Plane 2 http://www.itscj.ipsj.or.jp/ISO-IR/229.pdf <http://www.itscj.ipsj.or.jp/ISO-IR/229.pdf> perl v5.12.1 2005-05-12 JIS2K(3)
All times are GMT -4. The time now is 06:49 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy