03-23-2015
I suppose that you could read each line assuming that the first column is meant to increase sequentially, however another method might be to use the some reverse logic. Could you:-
- Get every first column from file1 into a file index1, perhaps with cut
- Edit the file to insert a leading carat ^ to each line
- Use this to find records in file2 that are not in file1 using grep -vf
- Append new records (with zero values) to file1
- Sort file1 to put the records in order
- Repeat the process for file2 selecting records listed in file1 (original or the updated one)
It seems a bit convoluted but I'm trying to think of the fewest I/O operations to achieve your goal, especially if you have very large files.
Would that give you an option, or are there likely to be records which are missing from both files?
Do let me know if I've missed the point entirely.
Kind regards
Robin
This User Gave Thanks to rbatte1 For This Post:
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I need to edit a list of numbers on the following form:
1 1.0
2 1.4
5 2.1
7 1.9
I want:
1 1.0
2 1.4
3 0.0
4 0.0
5 2.1
6 0.0
7 1.9
(i want to add the missing number in column 1 together with 0.0 in column 2).
I guess it is rather trivial but i didn't even manage to read column... (5 Replies)
Discussion started by: bistru
5 Replies
2. Shell Programming and Scripting
It can't be that hard, but I just can't figure it out:
I have file like:
File Sub-brick M_1 S_1 M_2 S_2 M_4 S_4 ...
xxx 1 214 731 228 621 132 578 ...
and would like to get 0 0 where M_3 S_3 is missing
xxx 1 214 731 228 621 0 0 132 578 ...
I wrote following script, but can't figure out... (3 Replies)
Discussion started by: avvk
3 Replies
3. Shell Programming and Scripting
Hi,
I'm working on a script that will take the contents of a file, that is in a row and column format, and compare it to a arrangment file. Such that if there is any or all blanks in my content file, the blank will be filled with a flag and will retain the row and column configuration.
Ex.
... (2 Replies)
Discussion started by: hizzle
2 Replies
4. Shell Programming and Scripting
Hi All,
I have 100 files with names like this:
1.dat, 2.dat, 3.dat until 100.dat.
My dat files look like this:
42323 0
438939 1
434 0
0.9383
3434
120.23 3
234
As you can see in the second column, some numbers are missing. I want to fill those missing places with 0's in all... (3 Replies)
Discussion started by: shoaibjameel123
3 Replies
5. Shell Programming and Scripting
Hi All,
I have 100 .txt files which look like this:
3
4
5
6
7
Now, some files have some numbers missing in them and they look like this:
4
5
6 (6 Replies)
Discussion started by: shoaibjameel123
6 Replies
6. Shell Programming and Scripting
hello everyone,
I have a task to input missing data into a file. example of my data below:
Wed Feb 01 09:00:02 EST 2012,,,0.4,0.3,,0.3,,0.3,,0.5,,0.3,,,0.4,0.3,
Wed Feb 01 09:00:11 EST 2012,,,,,,,0.2,,,,,,,,,,
Wed Feb 01 09:00:22 EST... (23 Replies)
Discussion started by: Nolph
23 Replies
7. Shell Programming and Scripting
Hi Am using unix Aix Ksh
Have Created table called vv
and i have inserted two date
Select * from vv;
Output :-
New_date
21/02/2013
24/02/2013
I have tried Using One query but Unsuccessful so far..
SELECT l.new_date + '1 day' as miss
from vv as l (7 Replies)
Discussion started by: Venkatesh1
7 Replies
8. UNIX for Beginners Questions & Answers
I have a time series data like this
40754,35.6931,51.3092,201610160700,21.0
40754,35.6931,51.3092,201610160800,23.0
40754,35.6931,51.3092,201610160900,24.0
40754,35.6931,51.3092,201610161000,24.0
40754,35.6931,51.3092,201610161300,25.0
40754,35.6931,51.3092,201610161400,23.0... (6 Replies)
Discussion started by: emirzaei
6 Replies
9. Shell Programming and Scripting
Hi,
I have a data sample as shown below. I want to fill in the left column so that the line will be continuous. For example, between 1 and 5 should be 2,3,4. And corresponding values in the right column will be 0. Thus the expected data should look like that:
1 1
1 10
1 2
1 3
1 5
1 6
2 0... (6 Replies)
Discussion started by: theanh0508
6 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)