Sponsored Content
Top Forums Shell Programming and Scripting How to Merge / combine / join / paste 2 text files side-by-side Post 302311023 by cajunfries on Monday 27th of April 2009 03:45:46 PM
Old 04-27-2009
How to Merge / combine / join / paste 2 text files side-by-side

I have 2 text files, both have one simple, single column. The 2 files might be the same length, or might not, and if not, it's unknown which one would be longer.

For this example, file1 is longer:

---file1
Joe
Bob
Mary
Sally
Fred
Elmer
David

---file2
Tomato
House
Car
Elephant

All I want is to paste them side-by side into a new file like so:
No logic, no matching - just a simple paste, with a simple tab formatting to separate the 2 columns.

---file3
Joe Tomato
Bob House
Mary Car
Sally Elephant
Fred
Elmer
David

I've tried the "paste" command, like "paste file1 file2 > file3" but it works works only if file1 is longer than or the same length as file2. If file2 is longer, the extra values are misaligned too far over to the left and appear to belong to file1 as follows:

---file3
Tomato Joe
House Bob
Car Mary
Elephant Sally
Fred
Elmer
David

Also tried this awk I found in the forums, but it works only if file1 is longer or same length as file2 - it truncates file2 if file1 is shorter.
Code:
awk 'NR==FNR{_[NR]=$0;next}{print $1,$2,_[FNR]}' file2 file1

---file3
Tomato Joe
House Bob
Car Mary
Elephant Sally

I don't care if the solution is awk, sed, shell script, or what.
Reading both files into an array might be the solution, but I don't know enough on how to write the code for that.

Any help is greatly appreciated, thanks!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to Merge Two .xls files side by side into a single .xls

Hi all, please help me out in below requirement. I have two .xls files say abc.xls and bbc.xls , i want to merge these two files into a single file ..say xyz.xls side by side Ex: abc.xls Eno Ename 101 hello 102 hero 103 india bbc.xls Eno Ename 201 delhi 202 Hyd 203... (0 Replies)
Discussion started by: jagadish99
0 Replies

2. Shell Programming and Scripting

How to Merge Two .xls files side by side into a single .xls

Hi all, please help me out in below requirement. I have two .xls files say abc.xls and bbc.xls , i want to merge these two files into a single file ..say xyz.xls side by side Ex: abc.xls bbc.xls Eno Ename Eno Ename 101 hello ... (2 Replies)
Discussion started by: jagadish99
2 Replies

3. Shell Programming and Scripting

Merge 2 text files to one text file side by side

Inquiring minds want to know.... I need to take two files that I have latitude and longitude values and then combine them into one file with the values side by side separated by a space. the first file is temp113-lat.txt and the second is temp113-lon.txt. They each have values listed in the... (15 Replies)
Discussion started by: ahinkebein
15 Replies

4. Shell Programming and Scripting

Merge 3 columns side by side

I know this is a stupid question for you guys! half day googling and i got nothing :( i have 3 variables/files, say: $X1 or file1: # there is one whitespace space after each line | 21 | 9 | 28 | 100 | 51 $X2 or file2: # there is one whitespace space... (7 Replies)
Discussion started by: amaulana
7 Replies

5. Shell Programming and Scripting

Script to place selected columns from a group of files side by side in a new file

Hi Everyone, I need a shell/perl script to bring selected columns from all the files located in a directory and place them in a new file side by side. File1: a b c d 2 3 4 5 f g h i .......... File2: I II III IV w x y z .............. and so on many files are there...... (8 Replies)
Discussion started by: ks_reddy
8 Replies

6. Shell Programming and Scripting

Paste two file side by side together based on specific pattern match problem

Input file_1: P78811 P40108 O17861 Q6NTW1 P40986 Q6PBK1 P38264 Q6PBK1 Q9CZ49 Q1GZI0 Input file_2: (6 Replies)
Discussion started by: patrick87
6 Replies

7. Shell Programming and Scripting

printing 3 files side by side based on similar values in rows

Hi I'm trying to compare 3 or more files based on similar values and outputting them into 3 columns. For example: file1 ABC DEF GHI file2 DEF DER file3 ABC DER The output should come out like this file1 file2 file3 ABC ABC (4 Replies)
Discussion started by: zerofire123
4 Replies

8. Shell Programming and Scripting

AWK to merge multiple files side by side

I have about 100s of files of type text in a known directory. I want to merge all files side by side. Number of lines in all the files will remain same. For example file1 contains cat dog File 2 contains rat mat Output file should be cat rat dog mat Using awk I was able to... (5 Replies)
Discussion started by: kanthrajgowda
5 Replies

9. UNIX for Dummies Questions & Answers

Paste many files together side by side

Hi, Thank you for your help in advance :D. I have thousands of files like... file01 file02 file03 . . . file6324 I would like to paste every other file side by side so it looks like file01 file02 file03 file04 ...e.t.c file6323 file6324 (3 Replies)
Discussion started by: shaz1990
3 Replies

10. Shell Programming and Scripting

Merging two text files side by side

Hi everyone, I need to merge two files side by side The files look something like this: HOSTNAME fishtornado-K52F 127.0.1.1 UPTIME 20:17:01 up 2:19, 3 users, load average: 0.00, 0.04, 0.05 DISK USAGE (Size/Used/Avail/Use%) 29G 6.5G 21G 25% RUN QUEUE PID COMMAND USER ... (4 Replies)
Discussion started by: FishTornado
4 Replies
sdiff(1)						      General Commands Manual							  sdiff(1)

NAME
sdiff - side-by-side difference program SYNOPSIS
[options ...] file1 file2 DESCRIPTION
uses the output of diff(1) with the option, which ignores trailing blanks (spaces and tabs) and treats other strings of blanks as equal, to produce a side-by-side listing of two files, indicating those lines that are different. Each line of the two files is printed with a blank gutter between them if the lines are identical, a in the gutter if the line only exists in file1, a in the gutter if the line only exists in file2, and a for lines that are different. For example: abc | xyz abc abc bca < cba < dcb dcb > cde Options recognizes the following options: Use the next argument, n, as the width of the output line. The maximum value of n is 2048 (LINE_MAX). The default line length is 130 charac- ters. Only print on the left side when lines are identical. Do not print identical lines. Use the next argument, output, as the name of a third file that is created as a user-controlled merging of file1 and file2. Identical lines of file1 and file2 are copied to output. Sets of differences, as produced by diff(1), are printed; where a set of differ- ences share a common gutter character. After printing each set of differences, prompts the user with a and waits for one of the following user-typed commands: append the left column to the output file append the right column to the output file turn on silent mode; do not print identical lines turn off silent mode call the editor with the left column call the editor with the right column call the editor with the concatenation of left and right call the editor with a zero length file exit from the program On exit from the editor, the resulting file is concatenated on the end of the output file. EXAMPLES
Print a side-by-side diff of two versions of a file on a printer capable of printing 132 columns: Retrieve the most recently checked in version of a file from RCS and compare it with the version currently checked out: SEE ALSO
diff(1), ed(1). sdiff(1)
All times are GMT -4. The time now is 03:32 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy