04-02-2008
Concatenating records from 2 files
I'm trying to concatenate records from 2 files and output it to a third file. The problem I'm running into is that it seems like the "While" command is limited to processing one file at a time. It seems like you could read a record from file1 into a variable. Then do the same for the for file2. Then print $rec1 $rec2 >> file3. I can do this successfully with the first record without a looping command. However, when I try to put it in a while loop I get all the records from file 1 concatenated with the first record of file2. The code I'm trying looks like this => while read rec1
do
read rec3 <$dir/$temp_fil3
print $rec1 $rec3 >>$dir/$temp_fil4
8 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
...
i have 4 files to concatenate but in a certain order and i wanted to do it in a shorter one line command , if possible !
4 files : file , file0 , file1 and file2
file1 into file2
file0 into the result
file into the result
thanks in advance
Christian (1 Reply)
Discussion started by: Nicol
1 Replies
2. Shell Programming and Scripting
I just need to add a static ID to each output record so the users will be able to tell which group records in combined flatfiles come from I have the static ID in a bourne variable. I tried
awk '{print "${GroupID}" $0}' infile > outfile
But I ended up with the string ${GroupID} instead of... (5 Replies)
Discussion started by: gillbates
5 Replies
3. Shell Programming and Scripting
That subject might sound weird. What I have is two files. One looks like:
rf17 pts/59 Jul 10 08:43 (10.72.11.22) 27718 pts/59 0:00 b
rf17 pts/3 Jul 10 10:03 (10.72.11.22) 32278 pts/3 1:43 b
rf58 pts/29 Jul 10 10:09 (10.72.11.51) 44220 pts/29 0:06 b
rf58 pts/61 Jul 10 08:45 (10.72.11.51)... (2 Replies)
Discussion started by: raidzero
2 Replies
4. Shell Programming and Scripting
HI
I need to concatenate two files which are having headers. the result file should contain only the header from first file only and the header in second file have to be skipped.
file1:
name age
sriram 23
file2
name age
prabu 25
result file should be
name age
sriram 23
prabu ... (6 Replies)
Discussion started by: Sriramprabu
6 Replies
5. UNIX for Dummies Questions & Answers
Hi,
I have 30 text files on UNIX that I need to concatenate and create one big file. Could anyone provide me with a solution (if one exist)? I need the answer asap (today). Thanks a lot.
Denis (5 Replies)
Discussion started by: 222001459
5 Replies
6. Shell Programming and Scripting
Hi Freinds ,
I have 2 files .
File 1
|nag|HYd|1|Che
|esw|Gun|2|hyd
|pra|bhe|3|hyd
|omu|hei|4|bnsj
|uer|oeri|5|uery
File 2
|nag|HYd|1|Che
|esw|Gun|2|hyd
|uer|oi|3|uery
output : (9 Replies)
Discussion started by: i150371485
9 Replies
7. Shell Programming and Scripting
I have 3 files
File1
C1 C2 c3
File 2
C1 c2 c3
File 3
C1 c2 c3
Now i want to have
File1 as C1 c2 c3 I
File2 as C1 c2 c3 O
File3 as c1 c2 c3 D
and these 3 files should be concatenated into a single file
how can it be done in unix script? (3 Replies)
Discussion started by: Codesearcher
3 Replies
8. Shell Programming and Scripting
Firstly one of my mysql queries will yeild following output
+-------+---------------------+-------------------+----------------------------------------------------------------------------+
| ID | PLATFORM | SORT_NAME | DESCRIPTION ... (2 Replies)
Discussion started by: vivek d r
2 Replies
DIFF3(1) General Commands Manual DIFF3(1)
NAME
diff3 - 3-way differential file comparison
SYNOPSIS
diff3 [ -exEX3 ] file1 file2 file3
DESCRIPTION
Diff3 compares three versions of a file, and publishes disagreeing ranges of text flagged with these codes:
==== all three files differ
====1 file1 is different
====2 file2 is different
====3 file3 is different
The type of change suffered in converting a given range of a given file to some other is indicated in one of these ways:
f : n1 a Text is to be appended after line number n1 in file f, where f = 1, 2, or 3.
f : n1 , n2 c Text is to be changed in the range line n1 to line n2. If n1 = n2, the range may be abbreviated to n1.
The original contents of the range follows immediately after a c indication. When the contents of two files are identical, the contents of
the lower-numbered file is suppressed.
Under the -e option, diff3 publishes a script for the editor ed that will incorporate into file1 all changes between file2 and file3, i.e.
the changes that normally would be flagged ==== and ====3. Option -x (-3) produces a script to incorporate only changes flagged ====
(====3). The following command will apply the resulting script to `file1'.
(cat script; echo '1,$p') | ed - file1
The -E and -X are similar to -e and -x, respectively, but treat overlapping changes (i.e., changes that would be flagged with ==== in the
normal listing) differently. The overlapping lines from both files will be inserted by the edit script, bracketed by "<<<<<<" and ">>>>>>"
lines.
For example, suppose lines 7-8 are changed in both file1 and file2. Applying the edit script generated by the command
"diff3 -E file1 file2 file3"
to file1 results in the file:
lines 1-6
of file1
<<<<<<< file1
lines 7-8
of file1
=======
lines 7-8
of file3
>>>>>>> file3
rest of file1
The -E option is used by RCS merge(1) to insure that overlapping changes in the merged files are preserved and brought to someone's atten-
tion.
FILES
/tmp/d3?????
/usr/libexec/diff3
SEE ALSO
diff(1)
BUGS
Text lines that consist of a single `.' will defeat -e.
7th Edition October 21, 1996 DIFF3(1)