01-08-2009
sort and semi-duplicate row - keep latest only
I have a pipe delimited file. Key is field 2, date is field 5 (as example, my real file is more complicated of course, but the KEY and DATE are accurate)
There can be duplicate rows for a key with different dates.
I need to keep only rows with latest date in this case.
Example data:
W|AAA|DD|D|20080101
W|BBB|CC|C|20080101
W|AAA|BB|B|20080201
W|CCC|DD|D|20080701
W|CCC|EE|E|20080801
W|AAA|DD|D|20081231
I would want to see:
W|AAA|DD|D|20081231
W|BBB|CC|C|20080101
W|CCC|EE|E|20080801
I want to use sort for this but am open to other options. I'm guessing awk could be involved, but I'm bad at writing awk.
I've searched but didn't find anything that seemed to match.
Ideas?
edit to add a little more info:
It could be that I have rows with same key and same date. In that case, I'd prefer to take the one that is last in the file (because of differences in the other fields of the rows and how the file gets built) -- but if that is not possible I understand.
Last edited by LisaS; 01-08-2009 at 04:36 AM..
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I need a shell script which should find the latest date in the field of file and print that line only. For eg.,
I have a file /date.log
Name Date Status
IBM 06/06/07 close
DELL 07/27/07 open
DELL 06/07/07 open
: : :
From... (1 Reply)
Discussion started by: cvkishore
1 Replies
2. Shell Programming and Scripting
Ok here's what I'm trying to do. I need to get a listing of all the mountpoints on a system into a file, which is easy enough, just using something like "mount | awk '{print $1}'"
However, on a couple of systems, they have some mount points looking like this:
/stage
/stand
/usr
/MFPIS... (2 Replies)
Discussion started by: paqman
2 Replies
3. Shell Programming and Scripting
Hi,
I need to delete all occurences of the repeated lines from a file and retain only the lines that is not repeated elsewhere in the file. As seen below the first two lines are same except that for the string "From BaseLine" and "From SMS".I shouldn't consider the string "From SMS" and "From... (7 Replies)
Discussion started by: ragavhere
7 Replies
4. Shell Programming and Scripting
I'm trying to remove lines of data that contain duplicate data in a specific column.
For example.
apple 12345
apple 54321
apple 14234
orange 55656
orange 88989
orange 99898
I only want to see
apple 12345
orange 55656
How would i go about doing this? (5 Replies)
Discussion started by: spartan22
5 Replies
5. Shell Programming and Scripting
Hi,
I have a directory which contains a number of sub directories. They are named as 1.0.0, 1.0.1, 1.0.2...1.1.0..1.1.1...1.2.0..and so on..
Basically these are the tags created at the time of release. Tags are named as major.minor.buildnumber format for modules.
Now I have to search the... (2 Replies)
Discussion started by: bhaskar_m
2 Replies
6. Shell Programming and Scripting
Hi,
How to identify duplicate columns in a row?
Input data: may have 30 columns
9211480750 LK 120070417 920091030
9211480893 AZ 120070607
9205323621 O7 120090914 120090914 1420090914 2020090914 2020090914
9211479568 AZ 120070327 320090730
9211479571 MM 120070326
9211480892 MM 120070324... (3 Replies)
Discussion started by: suresh3566
3 Replies
7. UNIX for Dummies Questions & Answers
Gurus,
From a file I need to remove duplicate rows based on the first column data but also we need to consider a date column where we need to keep the latest date (13th column).
Ex:
Input File:
Output File:
I know how to take out the duplicates but I couldn't figure out... (5 Replies)
Discussion started by: shash
5 Replies
8. Shell Programming and Scripting
Hi all
I have a big file like this in rows and columns from 2 column onwards the next column is desciption of previous column means 3rd columns is description of 2 columns and 5 column is description of 4 column.
All cloumns are separated by comma
... (1 Reply)
Discussion started by: manigrover
1 Replies
9. Shell Programming and Scripting
Hi all,
how can delete duplicate files in file form, e.g.
$cat file1
aaa 123 234 345 456
bbb 345 345 657 568
ccc 345 768 897 456
aaa 123 234 345 456
ddd 786 784 234 263
ccc 345 768 897 456
aaa 123 234 345 456
ccc 345 768 897 456
then i need ouput file1 some, (4 Replies)
Discussion started by: aav1307
4 Replies
10. Shell Programming and Scripting
I have tried the following code and with that i couldnt achieve what i want.
#!/usr/bin/bash
find ./ -type f \( -iname "*.xml" \) | sort -n > fileList
sed -i '/\.\/fileList/d' fileList
NAMEOFTHISFILE=$(echo $0|sed -e 's/\/()$*.^|/\\&/g')
sed -i "/$NAMEOFTHISFILE/d"... (2 Replies)
Discussion started by: gold2k8
2 Replies
LEARN ABOUT PHP
ibase_fetch_assoc
IBASE_FETCH_ASSOC(3) 1 IBASE_FETCH_ASSOC(3)
ibase_fetch_assoc - Fetch a result row from a query as an associative array
SYNOPSIS
array ibase_fetch_assoc (resource $result, [int $fetch_flag])
DESCRIPTION
Fetch a result row from a query as an associative array.
ibase_fetch_assoc(3) fetches one row of data from the $result. If two or more columns of the result have the same field names, the last
column will take precedence. To access the other column(s) of the same name, you either need to access the result with numeric indices by
using ibase_fetch_row(3) or use alias names in your query.
PARAMETERS
o $result
- The result handle.
o $fetch_flag
-$fetch_flag is a combination of the constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing IBASE_TEXT will cause this
function to return BLOB contents instead of BLOB ids. Passing IBASE_UNIXTIME will cause this function to return date/time values
as Unix timestamps instead of as formatted strings.
RETURN VALUES
Returns an associative array that corresponds to the fetched row. Subsequent calls will return the next row in the result set, or FALSE if
there are no more rows.
SEE ALSO
ibase_fetch_row(3), ibase_fetch_object(3).
PHP Documentation Group IBASE_FETCH_ASSOC(3)