![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| removing duplicates based on key | pukars4u | Shell Programming and Scripting | 1 | 05-21-2008 12:50 PM |
| finding duplicates in columns and removing lines | totus | Shell Programming and Scripting | 14 | 05-16-2008 05:10 PM |
| removing duplicates from a file | trichyselva | UNIX for Dummies Questions & Answers | 2 | 03-25-2008 06:49 AM |
| removing duplicates and sort -k | orahi001 | UNIX for Dummies Questions & Answers | 3 | 01-25-2008 05:59 AM |
| Removing duplicates [sort , uniq] | sharatz83 | Shell Programming and Scripting | 4 | 07-14-2006 02:12 PM |
|
|
Submit Tools | LinkBack | Thread Tools | Display Modes |
|
|||
|
Removing duplicates
Hi, I've been trying to removed duplicates lines with similar columns in a fixed width file and it's not working.
I've search the forum but nothing comes close. I have a sample file: 27147140631203RA CCD * 27147140631203RA PPN * 37147140631207RD AAA 47147140631203RD JNA 47147140631204DC ADK * 47147140631204DC ALK * 67147140631203DA ALM * 67147140631203DA CCD * 77147140631209QC RRP 87147140631203QA RRN There are 3 spaces between first set of alphanumerics and the last three letter codes. I want to remove lines that match only up to the 3 blanks and ignore the 3 letter codes or whatever else is on that line after the 3 letter codes. Anyone know how I can do this? I want to keep at least one instance of any duplicates...doesn't matter which. I put asteriks where I need to keep one of any two. Thanks. Gianni |
| Forum Sponsor | ||
|
|
|
|||
|
I tried different combinations of sort and uniq, etc but none worked.
Also, I am on AIX and korn shell. When I ran uniq -?, I got: uniq: Not a recognized flag: ? Usage: uniq [-c | -d | -u] [-f Fields] [-s Chars] [-Fields] [+Chars] [InFile [OutFile]] I have no -w switch... Thanks. |
|
|||
|
Or an even more cryptic version:
Code:
awk '!x[$1]++' filename > newfile |
|||
| Google The UNIX and Linux Forums |