Bonjour,
comment récupérer dans un fichier les lignes d'un autre fichier
qui contiennent une partie identique?
Fichier1:
tyty aaaaa bien
gig aaaaa mal
1112vf2s2v3
sqdfqs
df
Je voudrais avoir le Fichier2 comme cela:
tyty aaaaa bien
gig aaaaa mal
Merci pour vos réponses.
# Hmm, en shell, à l'arache ...
Posté par Obsidian . Évalué à 2.
[^] # Re: Hmm, en shell, à l'arache ...
Posté par Obsidian . Évalué à 2.
[^] # Re: Hmm, en shell, à l'arache ...
Posté par Obsidian . Évalué à 3.
Du coup, je la reposte au propre :
$ tr ' \t' '\n\n' < fichier1 | sort | uniq -d | grep . | while read i ; do grep -w -n --color $i fichier1 ; done > fichier2
# join
Posté par Gyro Gearllose . Évalué à 1.
Réfères-toi au titre de mon commentaire, et non, je n'ai pas fumé, et non, je ne te propose pas un join ;-) !
En fait, cette commande s'utilise simplement ainsi :
$ join fichier1 fichier2
Et te sort exactement ce que tu souhaites. La seule contrainte, c'est que les deux fichiers soient triés au moment de l'appel.
Tu peux pour ce faire utiliser la commande sort.
Et si tu ne veux pas casser des fichiers d'origine, passe par des fichiers temporaires.
Voilà, en espérant que ça t'aidera, comme on dit.
[^] # Re: join
Posté par Obsidian . Évalué à 2.
[^] # Re: join
Posté par milounix . Évalué à 1.
[^] # Re: join
Posté par Gyro Gearllose . Évalué à 1.
Du coup, n'y connaissant rien du tout à la programmation en perl, je laisse la parole aux mongeurs qui s'y connaissent.
[^] # Re: join
Posté par Obsidian . Évalué à 2.
- Ca ne veut rien dire (dans ce sens-là).
- Pourquoi spécialement en Perl ?
# au fait : grep
Posté par Obsidian . Évalué à 3.
$ grep aaaaa fichier1 > fichier2
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.