[Unix] Erreur bizarre

Bonjour,

J'essaie de faire des recherches de fichiers dans un répertoire assez gros (96 megas). Le problème apparait lorsque je tape ceci

$:>ll EDMS*
ll: /usr/bin/ls: arg list too long
$:>
Le ll seul fonctionne mais apparemment il n'accepte pas les tris...
Quelqu'un a-t-il une idée sur la question ?
D'avance merci.

Trez
Configuration: sunOs 5.8

14 réponses

  1. Modérateur
    Salut,

    GlobalRegularExpressionPrint c'est un utilitaire qui utilise des regex
    * c'est un métacaractère utilisé en tant que quantificateur
    dans le cas de shell * veut dire globalisation (ex. trouve les fichiers qu'ont l'extension txt : ls -l *.txt)

    dans le cas de grep on écrit
    .* qui veut dire n'importe quel caractère (le metacaractère . ) zéro fois minimum et autant que tu peux maximum
    1. Modérateur
      C'est l'astérisque (*) de "grep *" qui génère l'erreur, il faut lui donner une expression régulière entière et pas un caractère générique. Dans ce cas autant ne rien mettre du tout !
      1. Hello,

        J'ai également essayé le
        ls
        mais rien n'y fait (ca ne vient pas des alias car la commande marche ailleurs). A vrai dire, j'ai essayé une multitude d'actions sur ce dossier mais je recois systémtiquement le même message car il est trop volumineux...

        Trez
        1. Bonjour

          Bah euh... "ll" c'est pas une commande, c'est un alias !

          La première chose a faire est donc "alias ll" pour voir ce qu'il y a dans ton alias.

          Personne n'a pensé a ca ?? hmmm....

          Bonne journée
          1. Modérateur
            Re-

            Affiche ta commande s'il te plaît et si possible un listing du répertoire où tu fais ta recherche (enfin du moins quelques lignes si trop volumineux ;-)) )
            1. Re-,

              Quand je lance la commande suggerée par jipicy, je tombe sur ceci :
              mercprod@t-280-1:>find . -name "EDMS*" -exec ll {} \; | grep *
              ksh: /bin/grep: arg list too long
              Broken Pipe
              Broken Pipe
              Broken Pipe
              Broken Pipe
              Broken Pipe
              Broken Pipe
              Broken Pipe
              

              Please help :-((

              Merci

              Trez
              1. Oui mais...
                $>ll *EDMS* | xargs ls | grep *1508113*
                ll: /usr/bin/ls: arg list too long
                
                Trez :-(
                1. Modérateur
                  Salut,

                  suppression impossible liste d arguments trop longue

                  ;-))
                  1. Merci,
                    cela dit je n'ai aucune sur la maniere d'utiliser cette commande...
                    Trez
                    1. Salut,

                      arg list too long
                      il me semble que c'est une histoire de mémoire du bash (trop d'arguments à gérer ou quelque chose comme ça).
                      Il semble que la commande xargs est faite pour contourner ce genre de problème !

                      si je dit pas trop de bêtises ....

                      :-))