Command find result "-exec" differ "-print"

Salut à tous,

C’est moi ou entre -print ET -exec ls -l {} \; de la commande « find » y’a une différence ?

root@lb2.ww2:~ # date ; find /var/pro/web_public/ -mmin -360 -print
Wed Oct 16 07:47:53 AM CEST 2024
/var/pro/web_public/screens/others
/var/pro/web_public/screens/others/Capture d'écran 2024-10-16 042137 - SAMBA - WIN11 LECTEUR RESEAU IPV6 - OK.png

Exemple résultat faux … et les fichiers ne sont pas dans la racine du répertoire « /var/pro/web_public/ »

root@lb2.ww2:~ # date ; find /var/pro/web_public/ -mmin -360 -exec ls -l {} \;
Wed Oct 16 07:48:09 AM CEST 2024
total 694496
-rw-r--r-- 1 1000 1000    244747 Aug 27 16:18  cable-fiber-spf+aoc-20m.jpg
-rw-r--r-- 1 1000 1000     16511 Feb  5  2024 "Capture d'écran 2024-02-05 195622.png"
-rw-r--r-- 1 1000 1000     47096 Feb  5  2024 "Capture d'écran 2024-02-05 195739.png"
-rw-r--r-- 1 1000 1000     36991 Feb  6  2024 "Capture d'écran 2024-02-06 202306.png"
-rw-r--r-- 1 1000 1000     57928 Feb 17  2024 "Capture d'écran 2024-02-17 181240-OVH_DE-OVH_CA.png"
-rw-r--r-- 1 1000 1000    100015 Feb 18  2024 "Capture-d'écran-2024-02-18-135015.png"
-rw-r--r-- 1 1000 1000    181810 Feb 18  2024 "Capture-d'écran-2024-02-18-135052.png"
-rw-r--r-- 1 1000 1000     94864 Feb 18  2024 "Capture-d'écran-2024-02-18-135812.png"
-rw-r--r-- 1 1000 1000    533286 Feb 18  2024 "Capture_d'écran_2024-02-18_174142-FTP.png"
-rw-r--r-- 1 1000 1000     73347 Feb 26  2024 "Capture d'écran 2024-02-26 141330-ethernet-card.png"
-rw-r--r-- 1 1000 1000   1044236 Mar  6  2024 'Capture d'\''écran 2024-03-06 223614 - FTP transfert (upload) - FR-CA.png'
-rw-r--r-- 1 1000 1000 3833 Oct 16 04:21 "/var/pro/web_public/screens/others/Capture d'écran 2024-10-16 042137 - SAMBA - WIN11 LECTEUR RESEAU IPV6 - OK.png"

Merci.

Romain

si l’un des résultats de find est un répertoire alors ls -l te donne la liste du répertoire.

1 J'aime

aha ha :wink: Merci @Zargos.

Pas clair du tout cette histoire.
find sans préciser le type sort tout ce qu’il trouve de type d,f,l.
Donc mystère.

ouais ouais ouais - quand vous me dites çà je pense tout à fait comme vous. j’suis plutot développeur web moi :thinking: :face_with_raised_eyebrow: :rofl:

Merci encore messieurs !

Ben justement c’est clair. Le find -print ecrit tout ce qu’il trouve tel quel, avec le -exec, il execute un ls -l sur le resultat -print

Je ne parle pas de théorie que j’ai rappelée, mais du premier message, du concret.

# find /var/pro/web_public/ -mmin -360 -print
/var/pro/web_public/screens/others
/var/pro/web_public/screens/others/Capture d'écran 2024-10-16 042137 - SAMBA - WIN11 LECTEUR RESEAU IPV6 - OK.png

A moins que le retour du premier find soit incomplet, et pas le second, ce qui serait le plus probable.

Si incomplet, il manque seulement -type f -print au premier find.

Non parce que /var/pro/web_public/screens/others est un répertoire et à mon avis dans la seconde partie ce sont les fichiers contenus dans ce répertoires que nous avons en plus. Il n’y a là rien de théorique mais de l’application directe de la commande.

$ ls -l ./simple-cdd/_postinst/
total 616
-rwxr-xr-x 1 zargos zargos  15867 16 oct.  06:07 000-base-lib.postinst
-rwxr-xr-x 1 zargos zargos 221047 16 oct.  06:07 001-cis-lib.postinst
-rwxr-xr-x 1 zargos zargos    554 24 août  14:58 00-box-base.postinst
-rwxr-xr-x 1 zargos zargos    449 24 août  14:58 00-cin-base.postinst
-rwxr-xr-x 1 zargos zargos  33782 19 août  01:59 00-cis_workshop-lib.postinst
-rwxr-xr-x 1 zargos zargos    301 24 août  14:58 00-crypto-base.postinst
-rwxr-xr-x 1 zargos zargos    471 24 août  14:58 00-lxqt-base.postinst
-rwxr-xr-x 1 zargos zargos    244 24 août  14:58 00-start-script.postinst
-rwxr-xr-x 1 zargos zargos   2028 11 sept. 10:38 00-std-base.postinst
-rwxr-xr-x 1 zargos zargos   2485 24 août  14:58 01-box-network-conf.postinst
-rwxr-xr-x 1 zargos zargos   1785 24 août  14:58 01-box-network-hosts.postinst
-rwxr-xr-x 1 zargos zargos   3986 24 août  14:58 01-std-network-base.postinst
-rwxr-xr-x 1 zargos zargos   1288 24 août  14:58 01-std-network-conf.postinst
$ find ./simple-cdd -name "*_postinst*" -print
./simple-cdd/_postinst
 find ./simple-cdd -name "*_postinst*" -exec ls -l {} \;
total 616
-rwxr-xr-x 1 zargos zargos  15867 16 oct.  06:07 000-base-lib.postinst
-rwxr-xr-x 1 zargos zargos 221047 16 oct.  06:07 001-cis-lib.postinst
-rwxr-xr-x 1 zargos zargos    554 24 août  14:58 00-box-base.postinst
-rwxr-xr-x 1 zargos zargos    449 24 août  14:58 00-cin-base.postinst
-rwxr-xr-x 1 zargos zargos  33782 19 août  01:59 00-cis_workshop-lib.postinst
-rwxr-xr-x 1 zargos zargos    301 24 août  14:58 00-crypto-base.postinst
-rwxr-xr-x 1 zargos zargos    471 24 août  14:58 00-lxqt-base.postinst
-rwxr-xr-x 1 zargos zargos    244 24 août  14:58 00-start-script.postinst
-rwxr-xr-x 1 zargos zargos   2028 11 sept. 10:38 00-std-base.postinst
-rwxr-xr-x 1 zargos zargos   2485 24 août  14:58 01-box-network-conf.postinst
-rwxr-xr-x 1 zargos zargos   1785 24 août  14:58 01-box-network-hosts.postinst

rien compris à tes extrapolations et interprétations du 1er message montrant une incohérence évidente, mais ça na aucune importance.

Que tu ne comprennes pas ne signifie pas que ce soit incohérent. Mais si le maître a parlé…

tu as aussi les options
-maxdepth 1 à mettre en premier qui interdit de descendre à un niveau plus bas
-mindepth 1 à mettre en premier qui interdit de descendre à un niveau plus haut
-type f : que les fichiers
-type d que les dossiers