• # Euh…

    Posté par  . Évalué à 4.

    Ü0;stef§medusa: ßstef§medusa:ß$

    merci tu as niqué mon shell :)

    • [^] # Re: Euh…

      Posté par  (site web personnel) . Évalué à 6.

      C'est le terminal qui a mangé. Tu peux le réparer avec reset.

      • [^] # Re: Euh…

        Posté par  . Évalué à 2.

        Ah oui tout à fait, je m’en souvenais pas… C’est vrai que je me rappelle avoir déjà fait ça, en le tapant à l’aveugle du coup :) Je crois qu’il y a une combinaison de touches qui fait la même chose mais je ne m’en rappelle plus.

        • [^] # Re: Euh…

          Posté par  . Évalué à 3.

          Ctrl+V Ctrl+O, probablement.

          Sinon echo -e "\033c" marche bien aussi.

          • [^] # Re: Euh…

            Posté par  . Évalué à 2.

            Merci. En fait celui dont je me souvenais, mais bon là j’ai préféré fermé et ré-ouvrir le terminal, c’était setterm -reset

  • # Que des minuscules ?

    Posté par  . Évalué à 3. Dernière modification le 27 juin 2015 à 01:55.

    Tu peux faire

    cat /dev/urandom | base64 | sed 's/[A-Z0-9+/]//g'
    

    stef@medusa:~$ cat /dev/urandom | base64 | sed 's/[A-Z0-9+/]//g' |head -10
    xgkkuiqjreuplncyhlsjercjhwpqbqq
    pvlmuuvrlxuufbhhuswexbickofsraril
    abwljehpvgehseicvikuofojgduvmozekli
    wrkuvduzrmjwjmfbbizjmdihndtccd
    mltvfvlnonocnwhysmfpoyughzzfozksjg
    fnhrmkwooqkrmkcsazubk
    jrjbyjsetywxzccmkzjqgbbcdtvh
    jzbdednvxuhvdyqwghlitederuzefjeezz
    chwflklfzolboyrpmmdphdjymefzmi
    gahkvodpuklosmeyunlghxvmfxja
    
    

    Bon OK c’était pas la question ^ ^

    Sinon pour répondre plus précisément je pense que c’est parce que /dev/urandom renvoi vraiment n’importe quoi, donc pas forcément des caractères qui vont être « captés » par sed…

    • [^] # Re: Que des minuscules ?

      Posté par  . Évalué à 3.

      Ou encore tr -d -c a-z < /dev/urandom

    • [^] # Re: Que des minuscules ?

      Posté par  . Évalué à 1.

      Tu pense que sed ou le shell serait sensible à des caractères d'échappement venant des commandes qui sont lancés dans le terminal. Si c'est le cas, ce n'est pas quelque chose qui pourrait être exploité ?

      bépo powered

      • [^] # Re: Que des minuscules ?

        Posté par  . Évalué à 2.

        Je pensais à des caractères de contrôle, ou encore des caractères aléatoires, qui ne correspondent à aucun caractère défini…

        Si c'est le cas, ce n'est pas quelque chose qui pourrait être exploité ?

        Je n’en sais rien, ma question était peut-être stupide… d’ailleurs comme on me l’a fait remarquer c’est le terminal qui se met à déconner, pas le shell lui-même.

        • [^] # Re: Que des minuscules ?

          Posté par  . Évalué à 1.

          Il y a quand même deux comportement bizarre :

          • sed ne filtre pas comme il faut tout ce qui lui arrive en entrée
          • des caractères affichés par la sortie standard d'une commande sont interprétés par le terminal

          Je me demandais si le deuxième point ne pouvait pas être exploité en ayant une commande dont la sortie à été craftée pour faire faire des trucs bizarre au terminal.

          bépo powered

          • [^] # Moins de surprises avec Perl…

            Posté par  . Évalué à 4.

            • sed ne filtre pas comme il faut tout ce qui lui arrive en entrée

            Ça reste aussi mystérieux pour moi que pour toi. Ça sent quand même le bug…

            Cela dit,
            perl -pe 's/[a-z]//g' /dev/urandom
            fait lui le boulot attendu.

            D’un point de vue général, depuis que j’ai failli mourir de vieillesse en attendant le résultat d’un grep -r *, je me méfie vraiment des commandes shell…
            Ton exemple ne fais qu’étayer ma conviction.

            * Sous CentOS 5, il y avait un pipe nommé dans un sous-répertoire du répertoire sur lequel j’ai lancé ma recherche ; grep l’a ouvert et a attendu indéfiniment qu’il arrive quelque chose dedans… Le bug est heureusement corrigé dans les versions récentes.

            Par ailleurs, BFG a fait une bonne suggestion, tr est plus efficace qu’une substitution d’expression régulière, même simple (accessoirement, tr existe aussi en Perl : perl -pe 'tr/a-z//cd' /dev/urandom ).

            « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • # Unicode

    Posté par  (site web personnel) . Évalué à 6.

    $ LC_ALL=C sed 's/[^a-z]//g' < /dev/urandom
    mirdhtbbel…
    $ LC_ALL=fr_FR.iso8859-15 sed 's/[^a-z]//g' < /dev/urandom
    jbmnqhocrw…
    $ LC_ALL=en_EN.iso-8859-1 sed 's/[^a-z]//g' < /dev/urandom
    lnroshzexa…
    $ LC_ALL=en_EN.utf-8 sed 's/[^a-z]//g' < /dev/urandom
    adufujwjmu…
    $ LC_ALL=fr_FR.utf8 sed 's/[^a-z]//g' < /dev/urandom
    ��d����l��]

    Nouveau test en français UTF-8 :

    • avant le sed :
    ba 93 f9 4b e7 f0 bf 1b  e9 38 63 8f 1e 56 2b 1d  |...K.....8c..V+.|
    
    • après le sed
    ba 93 f9 e7 f0 bf e9 63  8f 99 db e0 6e c1 cf bc  |.......c....n...|
    

Suivre le flux des commentaires

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