Chercher un fichier
bld
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
bonjour à tous !! depuis je m'interesse à linux et ses commandes (on l'utilise en cours) j'aurai besoiunn d'une commande qui recherche un fichier mais surtout qui me dise si ce fichier est un dossier ou autre.. j'utilise "printf" pour rechercher le fichier et "ls" pour savoir si c'est un fichier ou un repertoire.
la comnande doit etre une syntaxe unique : rechercher un fichier et afficher si le fichier trouvé est un dossier ou un fichier ! qu'en pensez vous ?
la comnande doit etre une syntaxe unique : rechercher un fichier et afficher si le fichier trouvé est un dossier ou un fichier ! qu'en pensez vous ?
A voir également:
- Chercher un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
9 réponses
salut,
tu as "find" ....
find . -name "foo.bar"
va chercher, à partir du dossier courant (.) tous fichiers/dossiers nommés foo.bar
tu peux aussi spécifier le type si tu ne souhaites que les dossier...
find . -type d -name "FOO*"
va chercher tous les dossier (-type d) a partir de l'emplacement courant (.) dont le nom commence par FOO ("FOO*")
il y a plein d'autres options...
man find
Phiphi
tu as "find" ....
find . -name "foo.bar"
va chercher, à partir du dossier courant (.) tous fichiers/dossiers nommés foo.bar
tu peux aussi spécifier le type si tu ne souhaites que les dossier...
find . -type d -name "FOO*"
va chercher tous les dossier (-type d) a partir de l'emplacement courant (.) dont le nom commence par FOO ("FOO*")
il y a plein d'autres options...
man find
Phiphi
Salut,
tu peux aussi essayer ça
1. dans i (voir en gras) tu mets le nom du fichier ou répertoire
2. si répertoire la commande va afficher aaa répertoire sinon va afficher aaa fichier
lami20j
tu peux aussi essayer ça
i=aaa;if [ -d $(find ./ -name $i) ];then echo $i répertoire;else echo $i fichier;fi
1. dans i (voir en gras) tu mets le nom du fichier ou répertoire
2. si répertoire la commande va afficher aaa répertoire sinon va afficher aaa fichier
lami20j
bonjour et merci pour vos reponses !!!
en fait j'utilise la commande find pour ca pas de pb...
find \ -name toto* et il m'affiche le chemin des repertoires et/ou des fichiers toto trouvés. le truc c'est que j'aimerai rajouté a cette commande avec un pipe ou une redirection une autre commande (sans C) qui me dise si le fichier trouvé est un repertoire ou simplement un fichier !!! j'espere que ma demande n'est pas trop incomprehensible (lol)
merci a tous !!
en fait j'utilise la commande find pour ca pas de pb...
find \ -name toto* et il m'affiche le chemin des repertoires et/ou des fichiers toto trouvés. le truc c'est que j'aimerai rajouté a cette commande avec un pipe ou une redirection une autre commande (sans C) qui me dise si le fichier trouvé est un repertoire ou simplement un fichier !!! j'espere que ma demande n'est pas trop incomprehensible (lol)
merci a tous !!
salut,
ce que propose lami20j n'est pas du "C"... c'est simplement du bash je pense (c'est a dire la ligne de commande...)
c'est a mon avis le plus ce qui correspond le mieux a ce que tu cherches a faire...
Phiphi
ce que propose lami20j n'est pas du "C"... c'est simplement du bash je pense (c'est a dire la ligne de commande...)
c'est a mon avis le plus ce qui correspond le mieux a ce que tu cherches a faire...
Phiphi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
voilà une ligne qui n'utilise que des commandes Linux est pas des tests bash (enfin c'est toujours du bash ;-))
lami20j
voilà une ligne qui n'utilise que des commandes Linux est pas des tests bash (enfin c'est toujours du bash ;-))
i=$(find ./ -name 'fichier');test -f $i && echo fichier;test -d $i && echo répertoire
lami20j
Salut,
[jp@MDK tmpfs]$ ls -l total 8 drwxr-xr-x 2 jp jp 40 nov 4 10:22 tata/ -rw-r--r-- 1 jp jp 8 nov 4 13:35 tota.txt -rw-r--r-- 1 jp jp 8 nov 4 13:36 toto.txt drwxr-xr-x 2 jp jp 40 nov 4 10:23 totu/ [jp@MDK tmpfs]$ file $(find . -name "tot*") ./totu: directory ./tota.txt: ASCII text ./toto.txt: ASCII text [jp@MDK tmpfs]$;-))
merci pour cette reponse !!
en fait j'utilise la commande find donc.. pour ca pas de pb. Cependant il faut que je rajoute a cette commande une autre qui me dise si le fichier trouvé est un repertoire ou un fichier comme avec la commande ls -l.
la commande sera :
find \ -name toto* et apres derriere je dois certainement rajouté un pipe ou une redirection pour pouvoir ajouter la commande suivante qui m'indiquera si le fichier trouvé sera un repertoire ou un fichier
merci pour vos reponses
en fait j'utilise la commande find donc.. pour ca pas de pb. Cependant il faut que je rajoute a cette commande une autre qui me dise si le fichier trouvé est un repertoire ou un fichier comme avec la commande ls -l.
la commande sera :
find \ -name toto* et apres derriere je dois certainement rajouté un pipe ou une redirection pour pouvoir ajouter la commande suivante qui m'indiquera si le fichier trouvé sera un repertoire ou un fichier
merci pour vos reponses
Re-
lami20j t'a déjà donné une solution au post #6 !
L'as-tu essayée ?
Tu peux aussi essayer ça :
lami20j t'a déjà donné une solution au post #6 !
L'as-tu essayée ?
Tu peux aussi essayer ça :
[ -f $(find . -name fichier) ] && echo "Fichier" || echo "Répertoire";-)