Journal : Un grep recursif en shell

Posté par FReEDoM (page perso, ) le 28 décembre 2004
0
Pour tout ceux qui bosse sur les UNIX historiques (parce y'a pas la petite option -r et d'autres auxquelles ont est depuis longtemps accros ...) C'est juste pour se faciliter la vie sous forme de fonction à charger dans son .profile. Voici le code à ajouter :
rgrep ()
{
        unset last beginning
        if [ $# -gt 1 ];then
                last=`eval echo "\\\$$(($#))" `
                beginning=`echo $@ | cut -d " " -f 0-$(($#-1)) `
        elif [ $# -eq 1 ]; then
                last=$1
        else
                echo "Usage: rgrep MOTIF"
                return 1
        fi

        find $PWD -exec grep $beginning $last {} \;
        return $?
}
vla, ça marche très bien sur KSH. Pour la petite histoire, je suis assez fier de la ligne commençant par "last="

> Lire le journal (24 commentaires, moyenne: 2,3).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

[+] relis toi gros naze !!!!

Posté par FReEDoM (page perso, ) le 28/12/2004 à 17:39. (lien). Évalué à -3.

tout ceux qui bosse => tous ceux qui bossent

BRAVO !!!! ça sait faire du shell mais alors ecrire sa langue natale !!!!

GRRRRR

  • [+] [^]Re: relis toi gros naze !!!!

    Posté par FReEDoM (page perso, ) le 28/12/2004 à 17:45. (lien). Évalué à -1.

    puis y'a pas que ça :/

    bouhhhhhh ... sniff ...

    auxquelles ont est => auxquelles on est

    Et ça à fait des études... Par respect pour mes ex-camarades je tairais le nom de mon école ....

    Bon mais le bout de code est pas mal ... mal vendu mais pas mal :)

    • [+] [^]Re: relis toi gros naze !!!!

      Posté par FReEDoM (page perso, ) le 28/12/2004 à 17:50. (lien). Évalué à -1.

      De toute façon , j'm'en fout c'était juste pour avoir une historique sur le net ! NA !

      Finalement , chui énervé maintenant ! VLA c'est copyrither ! Re NA !

      Non mais qd même alors l'autre sous pretexte que je fais 3 f0te d'aurtografe.. NON MAIS ! OU VA T ON ?

      Allez fo partir monsieur, faut s'en aller du travail ....

      ===========> CLAP !

    • [^]Re: relis toi gros naze !!!!

      Posté par Hugues HIEGEL (page perso, ) le 28/12/2004 à 18:45. (lien). Évalué à 2.

      > Et ça à fait des études...
      "Et ça a fait des études".

      J'aime vraiment pas le ton de tes deux posts, alors qu'il proposait une fonction shell fort sympathique - et utile de surcroît -

      • [^]Re: relis toi gros naze !!!!

        Posté par snt () le 28/12/2004 à 18:49. (lien). Évalué à 8.

        Le critiqueur est l'auteur de l'astuce, alors je crois qu'on peut le laisser employer le ton qu'il prefere avec lui meme non ?

        • [^]Re: relis toi gros naze !!!!

          Posté par Hugues HIEGEL (page perso, ) le 07/01/2005 à 23:41. (lien). Évalué à 1.

          mwarf, j'avais pas remarqué ce détail... :-D

      • [^]Re: relis toi gros naze !!!!

        Posté par Thomas Douillard () le 28/12/2004 à 18:55. (lien). Évalué à 3.

        Il se parle comme il veut, regardez les auteurs ;)
        c'est sous-entendu dans ses messages d'ailleur

      • [^]utile. ???

        Posté par Gri77oN () le 03/01/2005 à 22:20. (lien). Évalué à 1.

        euhh beh moi je propose aut'chose (voir plus bas)

  • [^]Messieurs les moinsseurs

    Posté par FReEDoM (page perso, ) le 29/12/2004 à 09:32. (lien). Évalué à 5.

    En tout cas merci à tous ceux qui soit par manque d'humour ou par envie de grimper en XP m'ont decendu en flêche dans les 3 commentaires précédents. Maintenant, mes commentaires sont à zéros. Pour aider les débutants sur le forum ça plus dur !

    Merci vous êtes bien urbain tous, ça donne envie de partager son travail.
    Quelqu'un sait s'il recrute chez M$, parce qu'avec des c... pareils

    • [+] [^]Re: Messieurs les moinsseurs

      Posté par zebul666 () le 29/12/2004 à 09:43. (lien). Évalué à -3.

      bin ouais bienvenu sur linuxfr :-(

    • [^]Re: Messieurs les moinsseurs

      Posté par JoeBar () le 29/12/2004 à 13:18. (lien). Évalué à 5.

      C'est juste qu'un boulet qui poste 3 messages d'affilée un peu inutiles et en insultant l'auteur du journal, ca se fait flinguer direct. Meme pas le temps de voir que c'est justement l'auteur du journal qui fait une tentative d'humour maladroite :)

      PS : pas taper, moi j'arrive à peine, j'ai pas moinssé !

    • [^]Re: Messieurs les moinsseurs

      Posté par theocrite (Jabber id, page perso, ) le 31/12/2004 à 03:24. (lien). Évalué à 2.

      Tout le monde n'a pas compris la première fois que c'était la même personne qui postait l'astuce[1] et qui critiquait l'orthographe (cf le post juste au dessus par exemple ;) ).

      La première réaction, c'est de ce dire que c'est pas très sympa de la part de la personne qui critique, qui plus est poste trois fois de suite. Ça fait vraiment la personne qui s'acharne sur le posteur du journal. Voila pourquoi le moinssage sauvage.

      Maintenant, à moins que je ne me trompe, tu as déjà bien remonté d'après ce que j'ai pu voir :).

      Allez, c'est Noël (et des poussières) tu as de la chance, il me reste juste de quoi plusser tous tes commentaires de la page. Hop, pas de chichi.


      Et bonne année à tout le monde :D

      [1] Au passage, pourquoi tu n'as pas mis ça dans les astuces ? Je viens de penser à ça.

      --
      Le libre vaincra, tout est déjà joué.

ksh..

Posté par Hugues HIEGEL (page perso, ) le 28/12/2004 à 18:48. (lien). Évalué à 3.

A propos, vu que tu en parles..
ça fait un petit bout de temps que j'entends des gars utiliser ksh, mais honnêtement je n'en ai jamais compris ses atouts.

Pour ma part, j'utilise zsh dont le système de completion et sa gestion des corrections des fautes de frappe me font gagner un temps formidable.
Ai-je intérêt à tester ksh ? J'en doute, mais je suis tellement curieux.. :-)

  • [^]Re: ksh..

    Posté par tux77 () le 28/12/2004 à 19:48. (lien). Évalué à 3.

    Ben au boulot j’ai régulièrement à administrer des serveurs en production tournant sous AIX et question shell, on n’a pas le choix c’est Ksh avec l’édition de la ligne de commande à la façon Vi.

    • [^]Re: ksh..

      Posté par Sebastien Tanguy (page perso, ) le 28/12/2004 à 23:28. (lien). Évalué à 6.

      > on n’a pas le choix c’est Ksh avec l’édition de la ligne de commande à la façon Vi.
      Bon, je suis de bonne humeur aujourd'hui, on va être gentil pour une fois:
      alias __A=`echo "\020"`   # up arrow = ^p = back a command
      alias __B=`echo "\016"`   # down arrow = ^n = down a command
      alias __C=`echo "\006"`   # right arrow = ^f = forward a character
      alias __D=`echo "\002"`   # left arrow = ^b = back a character
      alias __H=`echo "\001"`   # home = ^a = start of line
      
      set -o emacs
      

      • [^]Re: ksh..

        Posté par FReEDoM (page perso, ) le 29/12/2004 à 09:24. (lien). Évalué à 2.

        sympa :)

        vraiment !

    • [^]Re: ksh..

      Posté par matli () le 29/12/2004 à 08:35. (lien). Évalué à 2.

      moi aussi je suis sous AIX, et la complétion est obtenue par Esc-\, ce qui n'est pas très pratique. Tu ne saurais pas comment changer cela par hasard??

      Merci

  • [^]Re: ksh..

    Posté par gnujsa () le 29/12/2004 à 02:36. (lien). Évalué à 2.

    C'est une référence en matière de programation, beaucoup de chose viennent de lui:

    zcat /usr/share/doc/bash/changelog.gz | grep -i ksh

    En plus, il est maintenant libre.

  • [^]Re: ksh..

    Posté par FReEDoM (page perso, ) le 29/12/2004 à 09:21. (lien). Évalué à 2.

    >Ai-je intérêt à tester ksh ?

    Non à priori, car bash est bien plus conviviale et puissant

    Cependant, les UNIX à papa (HP-UX, AIX, Solaris) utilise par défaut ce shell et la plupart des entreprises ne change pas ce réglage pour, ainsi, avoir une norme déjà dans la norme de ce qui est fournie. Donc si tu travaille sur un UNIX autre que linux/FreeBSD etc... cela te sera utile de connaitre les base de ce shell (qui ne sont pas très éloignées du bash)

    Désolé encore pour le ton avec lequel je me suis parlé mais là c'en était trop, il fallait que quelqu'un me le dise. Je saoule assez les gens pour qu'il n'écrivent pas en SMS dans leurs posts, alors autant de faute dans un des miens, il fallait réagir :)

grep en couleur

Posté par TazForEver () le 29/12/2004 à 01:58. (lien). Évalué à 4.

== glark

j'adore :D

pour ceux qui font du grep pour faire des recherches dans du code source C -> cscope

sympa. voici une maniere de faire pour chopper l'avant dernier argument

Posté par Gri77oN () le 03/01/2005 à 21:53. (lien). Évalué à 1.

arrivé a la ligne find $PWD  .... 
on se retrouve avec trois variables qui contiennent:
dans last le dernier argument
dans last2 l'avant dernier argument 
dans beginning les autres
...

^__^
sisi ... ca peut etre utile...


@+ 
rgrep ()
{
       unset last last2 beginning
       if [ $# -gt 1 ];then
         last=`eval echo '$'$(($#))`
         last2=`eval echo '$'$(($#-1))`
         beginning=`echo $@ | cut -d " " -f 0-$(($#-1)) `
       elif [ $# -eq 1 ]; then
         last=$1
       else
         echo "Usage: rgrep MOTIF"
         return 1
       fi
       find $PWD -exec grep $beginning $last {} \;
       return $?
}

  • [^]Re: relis-toi, gros naze !

    Posté par Gri77oN () le 03/01/2005 à 22:15. (lien). Évalué à 1.

    t'ention j'me parle a moi meme, hein, me moinssez pas !! ^__^

    rgrep ()
    {
           unset last last2 beginning
           if [ $# -gt 2 ];then
             last=`eval echo '$'$(($#))`
             last2=`eval echo '$'$(($#-1))`
             beginning=`echo $@ | cut -d " " -f 0-$(($#-1)) `
           elif [ $# -eq 2 ]; then
             last2=$1
             last=$2
           elif [ $# -eq 1 ]; then
             last=$1
           else
             echo "Usage: rgrep MOTIF"
             return 1
           fi
           find $PWD -exec grep $beginning $last {} \;
           return $?
    }
    

Revenir en haut de page