06-05-2008
awk '!x[$2,$3]++' FS="," file
This has been a true grit work horse one liner.
I have use it extensively.
Does anyone know if it can be instructed to work within a range of values?
I suspect it wouldn't be a one liner.
For example:
My file contents are all numbers (a mixture of intergers and floating point), where field one is a unique point number, field two is an X or Easting coordinate, field 3 is a Y or Northing coordinate, and field four is an elevation:
1,2.1,3.1,1.1
2,2.2,3.2,2.2
3,2.3,3.3,3.3
4,3.4,3.4,4.4
5,3.5,3.5,5.5
6,3.6,3.6,6.6
7,4.7,4.7,7.1
8,4.8,4.8,8.8
9,4.9,4.9,9.9
I would like to process the file via fields two and three and have the result be:
1,2.1,3.1,1.1
3,2.3,3.3,3.3
4,3.4,3.4,4.4
6,3.6,3.6,6.6
7,4.7,4.7,7.1
9,4.9,4.9,9.9
So I think what I am asking is, that field 2 and 3 be considered duplicates if they are in the range "$2-0.1 to $2+0.1" and "$3-0.1 to $3+0.1".
That's the best way I have of decribing it.
Thanks in advance,
Kenny.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi experts,
I am new to scripting. I have a requirement as below.
File1:
A|123|NAME1
A|123|NAME2
B|123|NAME3
File2:
C|123|NAME4
C|123|NAME5
D|123|NAME6
1) I have 2 merge both the files.
2) need to do a sort ( key fields are first and second field)
3) remove all the instances... (3 Replies)
Discussion started by: vukkusila
3 Replies
2. Solaris
Can any one give me command How to delete duplicate records with out sort.
Suppose if the records like below:
345,bcd,789
123,abc,456
234,abc,456
712,bcd,789
out tput should be
345,bcd,789
123,abc,456
Key for the records is 2nd and 3rd fields.fields are seperated by colon(,). (2 Replies)
Discussion started by: svenkatareddy
2 Replies
3. Shell Programming and Scripting
I want to remove the records based on duplicate. I want to remove if two or more records exists with combination fields. Those records should not come once also
file abc.txt
ABC;123;XYB;HELLO;
ABC;123;HKL;HELLO;
CDE;123;LLKJ;HELLO;
ABC;123;LSDK;HELLO;
CDF;344;SLK;TEST
key fields are... (7 Replies)
Discussion started by: svenkatareddy
7 Replies
4. Shell Programming and Scripting
Hi frinds,
Need your help.
item , color ,desc
==== ======= ====
1,red ,abc
1,red , a b c
2,blue,x
3,black,y
4,brown,xv
4,brown,x v
4,brown, x v
I have to elemnet the duplicate rows on the basis of item.
the final out put will be
1,red ,abc (6 Replies)
Discussion started by: imipsita.rath
6 Replies
5. Shell Programming and Scripting
How do we sort and remove duplicate on column 1,2 retaining the record with maximum date (in feild 3) for the file with following format.
aaa|1234|2010-12-31
aaa|1234|2010-11-10
bbb|345|2011-01-01
ccc|346|2011-02-01
bbb|345|2011-03-10
aaa|1234|2010-01-01
Required Output
... (5 Replies)
Discussion started by: mabarif16
5 Replies
6. Shell Programming and Scripting
I have a flat file that contains records similar to the following two lines;
1984/11/08 7 700000 123456789 2
1984/11/08 1941/05/19 7 700000 123456789 2
The 123456789 2 represents an account number, this is how I identify the duplicate record.
The ### signs represent... (4 Replies)
Discussion started by: jolney
4 Replies
7. Shell Programming and Scripting
I have a csv file that I would like to remove duplicate lines based on field 1 and sort. I don't care about any of the other fields but I still wanna keep there data intact. I was thinking I could do something like this but I have no idea how to print the full line with this. Please show any method... (8 Replies)
Discussion started by: cokedude
8 Replies
8. Shell Programming and Scripting
Hi,
INPUT:
DCBADD
OUTPUT:
ABCD
The SED script should alphabetically sort the chars in the string and remove the duplicate chars. (5 Replies)
Discussion started by: jds93
5 Replies
9. Shell Programming and Scripting
Hi,
i am working on a script that would remove records or lines in a flat file. The only difference in the file is the "NOT NULL" word. Please see below example of the input file.
INPUT FILE:>
CREATE a
(
TRIAL_CLIENT NOT NULL VARCHAR2(60),
TRIAL_FUND NOT NULL... (3 Replies)
Discussion started by: reignangel2003
3 Replies
10. Shell Programming and Scripting
Hi, all
I have a csv file that I would like to remove duplicate lines based on 1st field and sort them by the 1st field. If there are more than 1 line which is same on the 1st field, I want to keep the first line of them and remove the rest. I think I have to use uniq or something, but I still... (8 Replies)
Discussion started by: refrain
8 Replies
LEARN ABOUT OPENSOLARIS
dup_field
form_field_new(3CURSES) Curses Library Functions form_field_new(3CURSES)
NAME
form_field_new, new_field, dup_field, link_field, free_field - create and destroy forms fields
SYNOPSIS
cc [ flag... ] file... -lform -lcurses [ library... ]
#include <form.h>
FIELD *new_field(int r, int c, int frow, int fcol, int nrow, int ncol);
FIELD *dup_field(FIELD *field, int frow, int fcol);
FIELD *link_field(FIELD *field, int frow, int fcol);
int free_field(FIELD *field);
DESCRIPTION
new_field() creates a new field with r rows and c columns, starting at frow, fcol, in the subwindow of a form. nrow is the number of off-
screen rows and nbuf is the number of additional working buffers. This routine returns a pointer to the new field.
dup_field() duplicates field at the specified location. All field attributes are duplicated, including the current contents of the field
buffers.
link_field() also duplicates field at the specified location. However, unlike dup_field(), the new field shares the field buffers with the
original field. After creation, the attributes of the new field can be changed without affecting the original field.
free_field() frees the storage allocated for field.
RETURN VALUES
Routines that return pointers return NULL on error. free_field() returns one of the following:
E_OK Thefunction returned successfully.
E_CONNECTED The field is already connected to a form.
E_SYSTEM_ERROR System error.
E_BAD_ARGUMENT An argument is incorrect.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|MT-Level |Unsafe |
+-----------------------------+-----------------------------+
SEE ALSO
curses(3CURSES), forms(3CURSES), attributes(5)
NOTES
The header <form.h> automatically includes the headers <eti.h> and <curses.h>.
SunOS 5.11 31 Dec 1996 form_field_new(3CURSES)