J'ai examiné d'autres questions similaires, mais je n'en ai trouvé aucune qui me permettrait de saisir le concept et de le rendre applicable à ma situation en fonction de mon temps limité. J'utilise simplement la commande find pour trouver certains fichiers, mais certains fichiers dans des sous-répertoires ont le même nom que je veux ignorer. Merci pour toute aide. Ci-dessous la commande que j'utilise:
Les fichiers/modèles qui m'intéressent:/dev/abc-scanner,/dev/abc-cash ....
La commande:
find /dev/ -name 'abc-*'
Ce qui est retourné:
/dev/abc-scanner
/dev/abc-cash
...
...
...
/dev/.udev/names/abc-scanner
/dev/.udev/names/abc-cash
Je veux ignorer ces derniers fichiers: /dev/.udev/...
Si vous voulez simplement limiter la recherche au premier niveau, vous pouvez faire:
find /dev -maxdepth 1 -name 'abc-*'
... ou si vous voulez particulièrement exclure le .udev
répertoire, vous pouvez faire:
find /dev -name '.udev' -Prune -o -name 'abc-*' -print
Y a-t-il une raison particulière pour laquelle vous devez utiliser find
? Vous pouvez simplement utiliser ls
pour trouver les fichiers qui correspondent à un modèle dans un répertoire.
ls /dev/abc-*
Si vous avez besoin d'utiliser find
, vous pouvez utiliser le -maxdepth 1
passer à s’appliquer uniquement au répertoire spécifié.
Cela peut faire ce que vous voulez:
find /dev \( ! -name /dev -Prune \) -type f -print