Re: [Resolu] Was: Re: [CBLX] question grep

[ Thread Index | Date Index | More lists.tuxfamily.org/carrefourblinux Archives ]


Aldo wrote on Thu, Sep 26, 2013 at 08:16:08PM +0200
> Salut Dominique:
> 
> On Thu, Sep 26, 2013 at 06:41:58PM +0200, Dominique Asselineau wrote:
> > Aldo wrote on Thu, Sep 26, 2013 at 03:58:30PM +0200
> > > Yoh Dom, Phil et les autres,
> > > 
> > > On Thu, Sep 26, 2013 at 12:50:00PM +0200, Dominique Asselineau wrote:
> > > > ' Aldo ' wrote on Thu, Sep 26, 2013 at 12:35:23PM +0200
> > > > > Salut Philippe:
> > > > > 
> > > > > Philippe Delavalade a écrit :
> > > > > > Le jeudi 26 septembre à 11:26, ' Aldo ' a écrit :
> > > > > > > Salut le forum,
> > > > > > > 
> > > > > > > je cherche à extraire une info (/une ligne en particulier) de plusieurs 
> > > > > > > fichiers txt distincts:
> > > > > > > 
> > > > > > > si je fais par ex. un  grep -i telenet *.txt  pour avoir la ligne concernant
> > > > > > > "telenet", j'obtiens évidemment les sorties, mais
> > > > > > > uniquement dans l'ordre alphabétique/num.ascendents;
> > > > > > > 
> > > > > > > par quelle commande ou option(s) puis-je obtenir les sorties dans
> > > > > > > l'ordre par date inverse ? 
> > > > > > > (ajouter  |ls -lrt  à ma commande grep ne le fais pas) ?
> > > > > > > 
> > > > > > > Concrètement, j'aimerais qu'il m'affiche la ligne que je recherche, 
> > > > > > > dans l'ordre 
> > > > > > >  janvier.txt: 
> > > > > > >  fevrier.txt: 
> > > > > > >  mars.txt: 
> > > > > > >  avril.txt: 
> > > > > > > ... 
> > > > > > > et pas dans l'ordre 
> > > > > > >  avril.txt: 
> > > > > > >  fevrier.txt: 
> > > > > > >  janvier.txt: 
> > > > > > >  mars.txt:
> > > > > > > ... 
> > > > > > > 
> > > > > > > D'avance merci pour votre aide.
> > > > >  
> > > > > > Salut Aldo.
> > > > > > 
> > > > > > il faut faire un find suivi de grep ; je ne me rappelle plus la syntaxe du
> > > > > > find en fonction des dates; regarde de ton côté 
> > > > > 
> > > > > Désolé mais je n'arrive pas à le faire avec find; j'obtiens une recherche y
> > > > > compris sur les sous-répertoires, 
> > > > 
> > > > Il faut paramétrer la profondeur, peut-être -depth
> > > > 
> > > > > ce qui encombre encore plus que si je me
> > > > > limite à un grep -i 
> > > > > J'ai essayé avec
> > > > > find . -name "elenet" -print  qui ne fais rien, m'affiche le prompt,
> > > > > ou même plus complexe genre 
> > > > > find . -name '*.txt' -print0 |xargs -0 grep -i telenet  mais ça ne donne pas
> > > > > ce que je souhaite.
> > > > > 
> > > > > Et grep n'est pas combinable avec sort et ls ? 
> > > > 
> > > > Voir mon précédent message.
> > > 
> > > Tout ça est beau mais bcp trop compliqué et en tout cas plus qu'il ne le faut;
> > > la solution est toute simple, 
> > > ls -tr |xargs grep mmm
> > 
> > Dans ce cas, moins beau donc :
> > 
> > $ grep mmm `ls -rt`
> > 
> > rien à piper, rien à xargser...
> 
> Je suis pas certain que xargser ou xarguer figure au Petit Robert ou dans le
> Larousse 2013, LOL! 

bof, il y a bien « solutionner », alors au point où on en est... (même
le correcteur orthographique de Emacs ne discute pas...)

> parcontre ta commande fonctionne nickel;

Attention tout de même, ça ne marche pas avec des noms de fichiers
comportant des caractères spéciaux.  Pour généraliser l'affaire, il
faudrait piper la sortie de ls sur sed (ou autre) qui fasse le
*nécessaire pour produire des noms de fichiers correctement encodés
pour pouvoir être pris comme des paramètres du grep en l'occurrence.
Et d'ailleurs il n'est pas sûr que la solution xargs ne pose pas le
même problème.

> et qq part elle est encore plus simple et cohérente:
> grep saisit le mot mmm de la sortie de la commande `ls -rt *.txt`

dans les fichiers indiqués par la sortie de ls ?

dom
--

--
--
   CarrefourBLinuX MailingListe
   Pour obtenir de l'aide, envoyez le sujet  help  à:
   carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
   Archives:
   http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/