The UNIX and Linux Forums  


Go Back   Les systèmes UNIX et Linux Forums > Top Forums > UNIX for Advanced & Expert Users
.
google unix.com



UNIX for Advanced & Expert Users Expert à Expert. Apprenez avancé UNIX, des commandes UNIX, Linux, les systèmes d'exploitation, d'administration système, de la Programmation, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Suppression des doublons de lignes dans les fichiers journaux karthikn7974 De programmation et de script Shell 4 03-21-2009 06:41 PM
Suppression de lignes en double à partir d'un fichier Steve Nysif UNIX pour les nuls Questions et réponses 18 09-09-2007 09:57 AM
comment faire pour supprimer des lignes en double fredao De programmation et de script Shell 3 12-13-2006 12:51 PM
Suppression de lignes en double dans le dossier Le Tiack Ein De programmation et de script Shell 5 01-12-2006 08:30 AM
reconstruction d'un enregistrement dans un ordre différent R1500 UNIX pour les nuls Questions et réponses 1 10-16-2003 06:24 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 08-02-2008
abhi.roy03 abhi.roy03 is offline
Registered User
  
 

Date d'inscription: août 2008
Messages: 1
Comment faire pour enlever les lignes d'un dossier sans changer l'ordre

Salut à tous,
Je dois supprimer des lignes en double dans un fichier sans chainging la order.for par exemple, si j'ai un casier

pqr
def
abc
LMN
pqr
abc
MKH
hgf


la production devrait être
pqr
def
abc
LMN
MKH
hgf

Plz me.It aide est urgente

Abhishek
  #2 (permalink)  
Old 08-02-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
addict
  
 

Join Date: Jan 2007
Lieu: Варна, България / Milano, Italia
Posts: 2,915
Est-ce un devoir?
Essayez de chercher dans les forums.
  #3 (permalink)  
Old 08-02-2008
redoutable redoubtable is offline
Registered User
  
 

Date d'inscription: août 2008
Lieu: Portugal
Messages: 242

Code:
#!/usr/bin/perl -w

while (<STDIN>)
{
        push (@lines, $_);
}

print "-\n";

foreach my $i (@lines)
{
        if (scalar (grep { /$i/ } @lines) == 1)
        {
                print $i;
        }
}

Usage:

Code:
Tsunami repeated_lines # perl repeat.pl 
pqr
def
abc
lmn
pqr
abc
mkh
hgf
-
def
lmn
mkh
hgf
Tsunami repeated_lines #

Ctrl entrée d'arrêt, appuyez simplement sur-D et le script va vous donner toutes les chaînes non reprises dans l'ordonnance de saisie.

Vous pouvez aussi faire quelque chose comme:


Code:
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 #

  #4 (permalink)  
Old 08-02-2008
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
Modérateur
  
 

Join Date: Dec 2003
Lieu: Florida
Messages: 1935
En utilisant awk ...

Code:
$ awk '! a[$0]++' file
pqr
def
abc
lmn
mkh
hgf
$

  #5 (permalink)  
Old 08-02-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
addict
  
 

Join Date: Jan 2007
Lieu: Варна, България / Milano, Italia
Posts: 2,915
Comme je l'ai dit,
il vous suffit de chercher dans les forums pour trouver les solutions suivantes:



Code:
awk '!_[$0]++' input


Code:
perl -ne'print unless $_{$_}++' input

ou:


Code:
perl -ne'$_{$_}++||print' input

  #6 (permalink)  
Old 08-03-2008
ère era is offline Forum Advisor  
Inutile de Herder Cats (en congé sabbatique)
  
 

Join Date: Mar 2008
Location: / il / est / que / bin / sh
Messages: 3652
Si l'exigence est de maintenir le dernier, au lieu de la première occurrence, il n'est que légèrement plus difficile.


Code:
perl -ne '$n{$_} = $.; END { print sort { $n{$a} <=> $n{$b} } keys %n }'

Si la dernière ligne manque d'une nouvelle ligne, qui comptera comme une ligne unique. Il n'est pas terriblement difficile à stabiliser, mais je ne voulais pas compliquer le script.
  #7 (permalink)  
Old 08-03-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
addict
  
 

Join Date: Jan 2007
Lieu: Варна, България / Milano, Italia
Posts: 2,915
Citation:
Si l'exigence est de maintenir le dernier, au lieu de la première occurrence
[...]
Avec GNU Awk:


Code:
awk 'END { for (k in r) t[sprintf("%10d", r[k])] = k
  n = asorti(t, _)
  while (++i <= n) print t[_[i]] }
{ r[$0] = NR }' filename

Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 01:01 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0