Commande find criteres et affichage

Lakios -  
Lakios Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je suis en pleine apprentissage des bases de linux, et on me pose comme problemme de trouver LA commande qui affiche une liste d'un repertoire dont les noms debutent par 'c' et ne finissent PAS par 'c, f ou y'. Il faut afficher uniquement la liste de ces fichiers separer par des virgules et en fonction de la date de modification des fichiers, du plus recent au moin recent.

J'ai tenter plusieurs fois d'y arriver et je me suis rendu la :
find /etc -type f -name c*[!cfy]

Enssuite pour afficher j'ai essayer :
find /etc -type f -name c*[!cfy] -exec ls -m {} \;

Je trouve toujours pas comment faire.
A voir également:

2 réponses

jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
Je n'avais pas tout lu. Je continue mes tests !
johand@bata:~/tmp$ find .  -maxdepth 1 -type f  | sort
./01 - King Crimson - Red.mp3
./.bashrc
./bigben.wav
./bon-december.pdf
./brol.sh
./brol.tar
./brol.tar.gz
./calibre-bin_2.5.0+dfsg-1_amd64.deb
./coder.php.html
./data.txt
./data.txt~
./Esso_logo.eps
./Esso_logo.pdf
./FN.db
./heller.url
./hostname
./hostname.c
./index.php
./index.rar
./moyenne.c~
./Raspberry Pi Cookbook.pdf
./SWIGDocumentation.pdf
./tar.config
./telephone.pdf
./test_config.py
./test_config.pyc
./testnl.py
./test.sh
./test.sh~
./test.wav
./titieee
./Total_Distro_Toolkit.iso
johand@bata:~/tmp$ find . -maxdepth 1 -type f -name '[tE]*[!fy]' -printf "%P," | sed -e 's/,$/\n/'
test.sh~,test.sh,titieee,tar.config,test_config.pyc,Esso_logo.eps,test.wav


Je regarderai le problème du tri plus tard car je dois quitter mon poste.

ATTENTION cependant aux objets dont le nom contient une virgule.
johand@bata:~/tmp$ find .  -maxdepth 1 -type f -name '[tE]*[!fy]' -printf "%P," | sed -e 's/,$/\n/'
test.sh~,test.sh,titieee,trèsy, très mauvais nom,tar.config,test_config.pyc,Esso_logo.eps,test.wav


Il vaut mieux séparer les noms par le caracère NULL (0x00). De nombreux utilitaires GNU per mettent de spécifier ce séparateur: xargs, sort, shuf...
L'option '-print0' de find est destinée à cet effet.
A VERIFIER: sous UNIX les seuls caractères interdits sont 0x00 et '/'
Gates gave ^W  sold  you the windows.
GNU gave us the whole house.(Alexandrin)
1
Lakios Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Merci sa fonctionne, mais je ne comprend pas cette partie de la commande :
sed -e 's/,$/\n/'
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

Et pourquoi pas tout simplement
ls -tm c*[!cfy]
?
0
Lakios Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
je veux chercher l'information dans un dossier precis, sans y etre
0