![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| UNIX för avancerade & Expertanvändare Expert-to-experten. Läs avancerade UNIX UNIX-kommandon, Linux operativsystem, systemadministration, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Ta bort duplikatet linjer i loggfiler | karthikn7974 | Shell-programmering och Skript | 4 | 03-21-2009 06:41 |
| Ta bort dubbletter av poster från fil | Nysif Steve | UNIX for Dummies Frågor & Svar | 18 | 09-09-2007 09:57 |
| hur du tar bort duplikat linjer | fredao | Shell-programmering och Skript | 3 | 12-13-2006 12:51 |
| Ta bort dubbletter av poster i Arkiv | Den Tiack Ein | Shell-programmering och Skript | 5 | 01-12-2006 08:30 |
| rekonstruera en post i en annan ordning | r1500 | UNIX for Dummies Frågor & Svar | 1 | 10-16-2003 06:24 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Ta bort duplikat linjerna i ett register utan att ändra den ordning
Hej alla,
Jag måste ta bort dubbla rader i en fil utan chainging den order.for exempel om jag har ett förflutet PQR def abc LMN PQR abc MKH hgf produktionen bör PQR def abc LMN MKH hgf Plz hjälp me.It är brådskande Abhishek |
|
||||
|
Kod:
#!/usr/bin/perl -w
while (<STDIN>)
{
push (@lines, $_);
}
print "-\n";
foreach my $i (@lines)
{
if (scalar (grep { /$i/ } @lines) == 1)
{
print $i;
}
}
Användning: Kod:
Tsunami repeated_lines # perl repeat.pl pqr def abc lmn pqr abc mkh hgf - def lmn mkh hgf Tsunami repeated_lines # Till stopp, bara trycka Ctrl-D och skriften ger dig alla icke-upprepade strängar i ingången ordning. Du kan också göra något liknande: Kod:
Tsunami repeated_lines # cat lines |perl repeat.pl - def lmn mkh hgf Tsunami repeated_lines # cat lines pqr def abc lmn pqr abc mkh hgf Tsunami repeated_lines # |
|
||||
|
Om kravet är att hålla det sista stället för den första händelsen, det är bara marginellt svårare. Kod:
perl -ne '$n{$_} = $.; END { print sort { $n{$a} <=> $n{$b} } keys %n }'
Om den sista raden saknar en nyrad, som kommer att räknas som en unik linje. Det är inte särskilt svårt att fixa, men jag ville inte komplicera skriptet. |
![]() |
| Komihåglista |
| Thread Tools | Sök i denna tråd |
| Visningslägen | Betygsätt denna tråd |
|
|