Commande find Vs ls [Résolu/Fermé]

Signaler
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
-
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
-
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

Messages postés
1151
Date d'inscription
lundi 2 mai 2016
Statut
Membre
Dernière intervention
17 mai 2019
138
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 58203 internautes nous ont dit merci ce mois-ci

Messages postés
542
Date d'inscription
mercredi 9 mars 2016
Statut
Membre
Dernière intervention
8 mars 2018
85
[HS] à quoi correspondent les nombres en début de ligne ?
Messages postés
35388
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
14 août 2020
5 335 >
Messages postés
542
Date d'inscription
mercredi 9 mars 2016
Statut
Membre
Dernière intervention
8 mars 2018

Salut,

C'est le numéro d'inode (
ls -i
).
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020

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...
Messages postés
1151
Date d'inscription
lundi 2 mai 2016
Statut
Membre
Dernière intervention
17 mai 2019
138
Solution donnée ;-\
Messages postés
542
Date d'inscription
mercredi 9 mars 2016
Statut
Membre
Dernière intervention
8 mars 2018
85
Sinon

sav="$IFS"
IFS="
"

for i in `ls -ltr`
do
echo "la lligne : $i"
done

IFS="$sav"
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020

Messieurs,
Vous m'avez beaucoup aidé et je vous remercie.
Pour moi le problème est réglé.
@+
Messages postés
18192
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 août 2020
4 946
hello
ls -l $(find /rep/lect/dossier -name "F*" -mmin +240)
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
889
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