Juin 142011
 

find c’est très bien.
on peut tout trouver sur le système grâce à lui.

le seul problème, c’est quand on veut rechercher uniquement dans le répertoire courant.
find étant récursif, il va falloir ruser:

find . \( -type d ! -name . -prune \) -o -type f -print


cette commande va rechercher uniquement dans le répertoire courant.

find va en fait chercher tous les répertoires qui ne sont pas le répertoire courant et les squizzer grâce au paramètre prune.

il va ensuite afficher les fichiers restants.

une petite fonction dont je me sers assez souvent quand je recherche un binaire:

function sepath { echo $PATH |tr ":" "\n" |sort -u |while read L ; do cd "$L" 2>/dev/null && find . \( ! -name . -prune \) \( -type f -o -type l \) 2>/dev/null |sed "s@^\./@@" |egrep -i "${*}" |sed "s@^@$L/@" ; done ; }

cette fonction recherche au travers de la variable $PATH les binaires portant le nom spécifié.

exemple d’utilisation:

$ sepath grep
/bin/egrep
/bin/fgrep
/bin/grep
/bin/nisgrep
/usr/bin/egrep
/usr/bin/fgrep
/usr/bin/grep
/usr/bin/nisgrep
/usr/contrib/bin/zgrep
/usr/local/bin/msggrep
/usr/local/bin/egrep
/usr/local/bin/fgrep
/usr/local/bin/grep
/usr/local/bin/pcregrep
 
$ sepath ^grep
/bin/grep
/usr/bin/grep
/usr/local/bin/grep
 Publié par à 17 h 38 min  Taggué avec :

  Une commentaire à “trouver un fichier dans le répertoire courrant”

  1. I cannot tell a lie, that really heepdl.

 Laisser un commentaire

Vous pouvez utiliser ces tags et attributs HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(requis)

(requis)

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.