Quelle est la syntaxe correcte pour:
find . -type f -name \*.\(shtml\|css\)
Cela fonctionne, mais est inélégant:
find . -type f -name \*.shtml > f.txt && find . -type f -name \*.css >> f.txt
Comment faire la même chose, mais en moins de frappe?
bash
find
filenames
file-extension
Dave Jarvis
la source
la source
). Second, the parentheses need to go around whole ‘primaries’ (the open parenthesis needs to be before
-name`, pas entre lui et son 'opérande').Voici une façon de faire votre première version:
la source
Vous devez mettre entre parenthèses uniquement les fichiers:
Bonus : il s'agit d'une syntaxe compatible POSIX.
la source
Je me retrouve souvent à utiliser des tubes egrep ou plus longs, ou perl pour des filtres encore plus complexes:
C'est peut-être un peu moins efficace, mais ce n'est généralement pas un problème. Pour des choses plus complexes, il est généralement plus facile à construire et à modifier.
La mise en garde standard concerne le fait de ne pas utiliser ceci pour les fichiers avec des noms de fichiers étranges (contenant par exemple des nouvelles lignes).
la source