Merge 2 text files to one text file side by side


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Merge 2 text files to one text file side by side
# 8  
Old 02-02-2009
I have done some changing files around and it seems that the paste command is only pulling from the second input file. What would cause it to do this? I changed the files around and if the lat was fist and lon was second pulled data from the lon and vice versa.
# 9  
Old 02-02-2009
don't know.

try this in the middle of the script.

create file a -- put some junk in there.
create file b -- put some junk in there.

run the command:

paste -d' ' a b > c

exactly like that right before or after your paste command in your script.

if c contains something -- then paste is working as advertised.
If THAT doesn't work.... we'll go to C. By coincidence, I rewrote the
paste command on my system because I wanted something similar
to the output of the Visual SourceSafe diff command.
# 10  
Old 02-02-2009
OK ... so i made 1.txt file containing
1
2
3
4....
and I made 2.txt file containing
a
b
c
d...
and after using the paste command i got

1 a
2 b
3 c
4 d
5 e
6 f
7 g
8 h
9 i

So it works. For some reason it is killing the first file. Now I just found out that if i do not use the deliminator I get this

[77225 loc]$ paste temp113-lat.txt temp113-lon.txt
2645.0805105.471900
2644.5485105.626300
2643.7325104.146495
2643.7325104.146495
2643.7325104.146495
2644.9895103.428400
2645.7915103.305700

lat lon
2647.358 | 5103.446300

It has some digits missing from the lat file it should be XXXX.XXXXXX but all of the digits are in the lon file. I wonder what is causing this to happen? Why would it not want to read the first file with a deliminator? I think it is a conspiracy.
# 11  
Old 02-02-2009
Hi, can I just jump in here Smilie
as a noob i'd not heard of the paste command, and was quite interested in what it could do. I tried the command as suggested

#paste -d' 'filea fileb > filec and got the same results as the OP, in that only details from the second file were being picked up.

however with a quick blurt at the man page i tried again, with some spaces that were not originally apparent from the suggested post

dave@freya:~$ paste -d ' ' 113_lat.txt 113_lon.txt > latlon.txt
dave@freya:~$ cat latlon.txt
2644.989500 5104.146495
2645.791200 5103.428400
2647.358600 5103.305700
2647.358300 5103.446300
2647.338700 5103.442100
2647.307900 5103.538900
2647.312100 5103.875200
2647.240400 5104.080100
2647.000300 5105.286800
2646.618800 5105.493300
2646.472100 5105.901000
2646.358800 5106.284000

note the spaces between the -d the ' symbols and the first filename
(run on opensolaris and bash shell if that helps)

Anyhoo thanks for an interesting little tip Smilie
# 12  
Old 02-03-2009
OK... I am back to work... The last post talking about spaces... I tried but I am still getting the same result... Do spaces matter that much... I know whitespace makes a difference but there has to be a reason why it is not pulling from the second file using the delimiter.
# 13  
Old 02-04-2009
Code:
paste -d" " file1 file2

# 14  
Old 02-04-2009
Quote:
Originally Posted by ahinkebein
OK... I am back to work... The last post talking about spaces... I tried but I am still getting the same result... Do spaces matter that much... I know whitespace makes a difference but there has to be a reason why it is not pulling from the second file using the delimiter.
Hi, which quotes are you using (single, double, back)?, what shell are you using? and what O/S are you using?

I'll include output below from a test run without spaces, and with spaces, running on Solaris 10 using a Bash shell

-bash-3.00$ ls -l
total 4
-rw-r--r-- 1 dhoward other 144 Feb 4 07:27 temp113-lat.txt
-rw-r--r-- 1 dhoward other 144 Feb 4 07:28 temp113-lon.txt
-bash-3.00$
-bash-3.00$ paste -d''temp113-lat.txt temp113-lon.txt > 113latlon.txt
-bash-3.00$ cat 113latlon.txt
5104.146495
5103.428400
5103.305700
5103.446300
5103.442100
5103.538900
5103.875200
5104.080100
5105.286800
5105.493300
5105.901000
5106.284000
-bash-3.00$ paste -d ' ' temp113-lat.txt temp113-lon.txt > 113latlon2.txt
-bash-3.00$ cat 113latlon2.txt
2644.989500 5104.146495
2645.791200 5103.428400
2647.358600 5103.305700
2647.358300 5103.446300
2647.338700 5103.442100
2647.307900 5103.538900
2647.312100 5103.875200
2647.240400 5104.080100
2647.000300 5105.286800
2646.618800 5105.493300
2646.472100 5105.901000
2646.358800 5106.284000
-bash-3.00$

As you can see the spaces do matter, as does the type of quotes, in the above examles i have used the single quotes('), in the following examples, I am using the backquotes (`) and the double quotes (").

-bash-3.00$ paste -d ` ` temp113-lat.txt temp113-lon.txt > 113latlon3.txt
-bash-3.00$ cat 113latlon3.txt
5104.146495
5103.428400
5103.305700
5103.446300
5103.442100
5103.538900
5103.875200
5104.080100
5105.286800
5105.493300
5105.901000
5106.284000

-bash-3.00$ paste -d " " temp113-lat.txt temp113-lon.txt > 113latlon4.txt
-bash-3.00$ cat 113latlon4.txt
2644.989500 5104.146495
2645.791200 5103.428400
2647.358600 5103.305700
2647.358300 5103.446300
2647.338700 5103.442100
2647.307900 5103.538900
2647.312100 5103.875200
2647.240400 5104.080100
2647.000300 5105.286800
2646.618800 5105.493300
2646.472100 5105.901000
2646.358800 5106.284000
-bash-3.00$


The backquotes return only one set of values. from the second file
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. Shell Programming and Scripting

Combining two single column files side-by-side

Hi, I am looking for a sed/awk script to join two large (~300 M) single column files (one is sorted and the other is not sorted) side-by-side. I have a shell script but its taking ages to do the task so looking for an optimized fast solution. The two files look like: File1 (sorted) a1... (1 Reply)
Discussion started by: sajal.bhatia
1 Replies

3. 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

4. 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

5. 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

6. Shell Programming and Scripting

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... (3 Replies)
Discussion started by: cajunfries
3 Replies

7. 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

8. 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

9. 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

10. 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
Login or Register to Ask a Question