Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Journal : Un grep recursif en shell

Posté par FReEDoM (page perso, ) le 28 décembre 2004
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,1).  

Vous avez demandé le commentaire #515129.

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 Bader Ladjemi (page perso, ) le 28/12/2004 à 20:02. (lien). Évalué à 3.

    à mon avis aucun.
    C'est juste que beaucoup d'écoles utilisent encore ksh comme shell (souvent unique) par défaut et que KoRn est un groupe de musique à la mode (cf http://www.kornshell.com/fun/(...)) .

    [^]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 :)