Commande find Vs ls

Résolu
Ka-El Messages postés 279 Statut Membre -  
Ka-El Messages postés 279 Statut Membre -
Bonjour,
Dans un script je trouve la commande find suivante :
find /rep/lect/dossier -name "F*" -mmin +240 -ls

Elle me donne le résultat suivant:
1212587 8404 -rw-rw-r-- 1 toto groland 8587329 Nov 30 04:32 /rep/lect/dossier/F0414713
1212884 788 -rw-rw-r-- 1 toto groland 800095 Nov 8 04:35 /rep/lect/dossier/tmp/F0394330
1212594 40 -rw-rw-r-- 1 toto groland 36903 Nov 28 10:49 /rep/lect/dossier/F0413030.pi99
1212819 4 -rw-rw-r-- 1 toto groland 1304 Oct 27 13:52 /rep/lect/dossier/F0393300
1212501 612 -rw-rw-r-- 1 toto groland 621000 Nov 30 19:00 /rep/lect/dossier/F0415405
1212787 4 -rw-rw-r-- 1 toto groland 1304 Oct 20 16:39 /rep/lect/dossier/F0387751
etc...

Est-ce qu'il me serait possible d'obtenir le même affichage avec la commande "ls ?"
Merci d'avance pour votre aide.

4 réponses

  1. UnGnU Messages postés 1468 Statut Contributeur 158
     
    Salut,

    Non, puisque la condition d'affichage de
    find
    stipule "modifiés depuis + de 4 heures" (
    -mmin +240
    ), chose que ne sait pas faire la commande
    ls
    ;-(
    1
    1. Utilisateur anonyme
       
      [HS] à quoi correspondent les nombres en début de ligne ?
      0
      1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501 > Utilisateur anonyme
         
        Salut,

        C'est le numéro d'inode (
        ls -i
        ).
        0
  2. Ka-El Messages postés 279 Statut Membre
     
    Mais alors comment rediriger dans un fichier l'affichage obtenu avec la commande ls -tlr (par exemple) quand on fait un boucle for ?
    Je n'obtiens pour l'instant que des retours à la ligne à chaque espace...
    0
    1. UnGnU Messages postés 1468 Statut Contributeur 158
       
      Solution donnée ;-\
      0
    2. Utilisateur anonyme
       
      Sinon

      sav="$IFS"
      IFS="
      "
      
      for i in `ls -ltr`
      do
      echo "la lligne : $i"
      done
      
      IFS="$sav"
      0
  3. Ka-El Messages postés 279 Statut Membre
     
    Messieurs,
    Vous m'avez beaucoup aidé et je vous remercie.
    Pour moi le problème est réglé.
    @+
    0
  4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    ls -l $(find /rep/lect/dossier -name "F*" -mmin +240)
    -3
    1. jisisv Messages postés 3678 Statut Modérateur 936
       
      Attention, ta commande partira en capilotade dans le cas de noms de fichiers contenant des espaces:
      johand@bata:~/tmp/sandbox$ ls -1; ls -l $(find . -name "a*")
      a 1.txt
      a 2.txt
      ls: impossible d'accéder à './a': Aucun fichier ou dossier de ce type
      ls: impossible d'accéder à '1.txt': Aucun fichier ou dossier de ce type
      ls: impossible d'accéder à './a': Aucun fichier ou dossier de ce type
      ls: impossible d'accéder à '2.txt': Aucun fichier ou dossier de ce type

      La commande find est bien plus souple( voir l'option -printf.
      johand@bata:~/tmp/sandbox$ find . -printf "%M %u %g %p\n"
      drwxr-xr-x johand johand .
      -rw-r--r-- johand johand ./a 1.txt
      -rw-r--r-- johand johand ./a 2.txt
      0