Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Delete lines with duplicate strings based on date Post 302386435 by mattv on Tuesday 12th of January 2010 12:40:17 PM
Old 01-12-2010
Delete lines with duplicate strings based on date

Hey all, a relative bash/script newbie trying solve a problem.

I've got a text file with lots of lines that I've been able to clean up and format with awk/sed/cut, but now I'd like to remove the lines with duplicate usernames based on time stamp. Here's what the data looks like

Code:
2007-11-03 user1 xxxxxxxx
2008-06-30 user1 yyyyyyyy
2008-01-26 user2 bbbbbbbb
2007-11-03 user3 aaaaaaaa
2007-11-02 user4 cccccccc
2008-07-09 user4 dddddddd
2008-06-30 user4 eeeeeeee

What I'm trying to do is pull only the lines with the most recent date with unique accounts.

For example, I'd like the output to be:

Code:
2008-06-30 user1 yyyyyyyy
2008-01-26 user2 bbbbbbbb
2007-11-03 user3 aaaaaaaa
2008-07-09 user4 eeeeeeee

Some accounts are listed only 2 times, some more often. How can I delete the 'oldest' lines with that username?

Thanks for your help.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to delete duplicate records based on key

For example suppose I have a file which contains data as: $cat data 800,2 100,9 700,3 100,9 200,8 100,3 Now I want the output as 200,8 700,3 800,2 Key is first three characters, I don't want any reords which are having duplicate keys. Like sort +0.0 -0.3 data can we use... (9 Replies)
Discussion started by: sumitc
9 Replies

2. Shell Programming and Scripting

how to delete duplicate rows based on last column

hii i have a huge amt of data stored in a file.Here in this file i need to remove duplicates rows in such a way that the last column has different data & i must check for greatest among last colmn data & print the largest data along with other entries but just one of other duplicate entries is... (16 Replies)
Discussion started by: reva
16 Replies

3. UNIX for Dummies Questions & Answers

Delete strings in file1 based on the list of strings in file2

Hello guys, should be a very easy questn for you: I need to delete strings in file1 based on the list of strings in file2. like file2: word1_word2_ word3_word5_ word3_word4_ word6_word7_ file1: word1_word2_otherwords..,word3_word5_others... (7 Replies)
Discussion started by: roussine
7 Replies

4. UNIX for Advanced & Expert Users

In a huge file, Delete duplicate lines leaving unique lines

Hi All, I have a very huge file (4GB) which has duplicate lines. I want to delete duplicate lines leaving unique lines. Sort, uniq, awk '!x++' are not working as its running out of buffer space. I dont know if this works : I want to read each line of the File in a For Loop, and want to... (16 Replies)
Discussion started by: krishnix
16 Replies

5. Shell Programming and Scripting

Delete lines in file containing duplicate strings, keeping longer strings

The question is not as simple as the title... I have a file, it looks like this <string name="string1">RZ-LED</string> <string name="string2">2.0</string> <string name="string2">Version 2.0</string> <string name="string3">BP</string> I would like to check for duplicate entries of... (11 Replies)
Discussion started by: raidzero
11 Replies

6. Shell Programming and Scripting

Getting lines between two strings with duplicate set of data

if I have the following lines in a file app.log some lines here <AAAA> abc <id>123456789</id> ddd </AAAA>some lines here too <BBBB> abc <id>123456789</id> ddd </BBBB>some lines here too <AAAA> xyz <id>987654321</id> ssss </AAAA>some lines here again... How do I get the... (5 Replies)
Discussion started by: nariwithu
5 Replies

7. Shell Programming and Scripting

Delete duplicate strings in a line

Hi, i need help to remove duplicates in my file. The problem is i need to delete one duplicate for each line only. the input file as follows and it is not tab delimited:- The output need to remove 2nd word (in red) that duplicate with 1st word (in blue). Other duplicates should remained... (12 Replies)
Discussion started by: redse171
12 Replies

8. Shell Programming and Scripting

Remove lines containing 2 or more duplicate strings

Within my text file i have several thousand lines of text with some lines containing duplicate strings/words. I would like to entirely remove those lines which contain the duplicate strings. Eg; One and a Two Unix.com is the Best This as a Line Line Example duplicate sentence with the word... (22 Replies)
Discussion started by: martinsmith
22 Replies

9. Shell Programming and Scripting

Delete duplicate row based on criteria

Hi, I have an input file as shown below: 20140102;13:30;FR-AUD-LIBOR-1W;2.495 20140103;13:30;FR-AUD-LIBOR-1W;2.475 20140106;13:30;FR-AUD-LIBOR-1W;2.495 20140107;13:30;FR-AUD-LIBOR-1W;2.475 20140108;13:30;FR-AUD-LIBOR-1W;2.475 20140109;13:30;FR-AUD-LIBOR-1W;2.475... (2 Replies)
Discussion started by: shash
2 Replies

10. UNIX for Beginners Questions & Answers

Delete rows based on array of strings

Hi All, I have a file with around 1000 rows and one of the fields is an account number. I have been provided with a few account numbers, when any of the account number appears in a row then the row has to be deleted. Can we place the account numbers in an array and use awk or sed for this task?... (3 Replies)
Discussion started by: mrcool4
3 Replies
SYSTEM.ROOTDAEMONRC(1)					      General Commands Manual					    SYSTEM.ROOTDAEMONRC(1)

NAME
system.rootdaemonrc, .rootdaemonrc - access control directives for ROOT daemons LOCATIONS
ROOTDAEMORC, $HOME/.rootdaemonrc /etc/root/system.rootdaemonrc, $ROOTSYS/etc/system.rootdaemonrc DESCRIPTION
This manual page documents the format of directives specifying access control directives for ROOT daemons. These directives are read from a text file whose full path is taken from the environment variable ROOTDAEMONRC. If such a variable in undefined, the daemon looks for a file named .rootdaemonrc in the $HOME directory of the user starting the daemon; if this file does not exists either, the file system.root- daemonrc, located under /etc/root or $ROOTSYS/etc, is used. If none of these file exists (or is readable), the daemon makes use of a default built-in directive derived from the configuration options of the installation. FORMAT
* lines starting with '#' are comment lines. * hosts can specified either with their name (e.g. pcepsft43), their FQDN (e.g. pcepsft43.cern.ch) or their IP address (e.g. 137.138.99.73). * host names can be followed by :rootd, :proofd or :sockd to define directives applying only to the given service; 'sockd' applies to servers run from interactive sessions (TServerSocket class) * directives applying to all host can be specified either by 'default' or '*' * the '*' character can be used in any field of the name to indicate a set of machines or domains, e.g. pcepsft*.cern.ch applies to all 'pcepsft' machines in the domain 'cern.ch'. (to indicate all 'lxplus' machines you should use 'lxplus*.cern.ch' because inter- nally the generic lxplus machine has a real name of the form lxplusnnn.cern.ch; you can also use 'lxplus' if you don't care about domain name checking). * a whole domain can be indicated by its name, e.g. 'cern.ch', 'cnaf.infn.it' or '.ch' * truncated IP address can also be used to indicate a set of machines; they are interpreted as the very first or very last part of the address; for example, to select 137.138.99.73, any of these is valid: '137.138.99', '137.138', '137`, '99.73'; or with wild cards: '137.13*' or '*.99.73`; however, '138.99' is invalid because ambiguous. * the information following the name or IP address indicates, in order of preference, the short names or the internal codes of authen- tication methods accepted for requests coming from the specified host(s); the ones implemented so far are: Method nickname code UsrPwd usrpwd 0 SRP srp 1 Kerberos krb5 2 Globus globus 3 SSH ssh 4 UidGid uidgid 5 (insecure) (The insecure method is intended to speed up access within a cluster protected by other means from outside attacks; should not be used for inter-cluster or inter-domain authentication). Methods non specified explicitly are not accepted. For the insecure method it is possible to give access only to a specific list of users by specifying the usernames after the method separated by colons (:) example: uidgid:user1:user2:user3 will allow uidgid access only to users user1, user2 and user3. This is useful to give easy access to data servers. It is also possi- ble to deny access to a user by using a '-' in front of the name: uidgid:-user4 * Lines ending with '' are followed by additional information for the host on the next line; the name of the host should not be repeated. EXAMPLES
Valid examples: default none All requests are denied unless specified by dedicated directives. default 0 ssh Authentication mechanisms allowed by default are 'usrpwd' (code 0) and 'ssh' 137.138. 0 4 Authentication mechanisms allowed from host in the domain 137.138. (cern.ch) are 'usrpwd' (code 0) and 'ssh' pceple19.cern.ch 4 1 3 2 5 0 All mechanisms are accepted for requests coming from host pceple19.cern.ch . lxplus*.cern.ch 4 1 globus 0:qwerty:uytre Requests from the lxplus cluster can authenticate using 'ssh', 'srp' and 'globus'; users 'qwerty' and 'uytre' can also use 'usrpwd' . pcep*.cern.ch:rootd 0:-qwerty 4 Requests from the pcep*.cern.ch nodes can authenticate using 'usrpwd' and 'ssh' when accessing the 'rootd' daemon ; user 'qwerty' can only use 'ssh'. SEE ALSO
rootd(1), proofd(1) For more information on the ROOT system, please refer to http://root.cern.ch/ . ORIGINAL AUTHORS
The ROOT team (see web page above): Rene Brun and Fons Rademakers COPYRIGHT
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as pub- lished by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MER- CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foun- dation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA AUTHOR
This manual page was written by G. Ganis <g.ganis@cern.ch> . ROOT
Version 4 SYSTEM.ROOTDAEMONRC(1)
All times are GMT -4. The time now is 06:42 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy