existe-t-il des commandes pour rechercher votre Mac à l'aide du terminal? J'ai essayé d'utiliser grep pour rechercher, mais cela semble quelque peu insensible et rien ne se produit.
Par exemple, je taperais "Fichiers grep" (un nom de dossier) et il imprime juste une ligne vierge et rien ne se passe.
Réponses:
Vous pouvez également utiliser la
mdfind
commande afin d'effectuer une recherche avec Spotlight. Plus d'infos ici .Utilisez
mdfind -name searchterm
pour récupérer des fichiers avec le nomsearchterm
. Utilisezmdfind searchterm
pour effectuer une recherche sur le nom et le contenu du fichier.la source
Si vous souhaitez simplement rechercher des fichiers portant un certain nom, utilisez
find
La page de manuel peut être trouvée ICI ou en tapant
man find
à l'invite du terminal.Fondamentalement, find recherchera récursivement un fichier répondant aux critères que vous spécifiez. L'exemple le plus simple:
find . -name file_name -print
Cela recherchera un fichier nommé "nom_fichier" commençant dans le répertoire courant et recherchant ci-dessous et imprimera les fichiers avec ce nom.
find ~ -name ".DS_Store" -delete
Cela trouvera tous les fichiers .DS_Store et les supprimera.
Vous pouvez rechercher par nom, expression régulière, date. Vous pouvez agir sur le fichier de n'importe quelle manière Unix avec le
-exec
prédicat.Vous pouvez également utiliser find comme début d'un pipeline d'actions plus complexe. Exemple:
find . -type f -print | egrep -i '\.m4a$|\.mp3$'
Trouve tous les fichiers avec les extensions .m4a ou .mp3
find . -type f -print | egrep -i '\.m4a$|\.mp3$' | wc -l
Vous donnera un décompte de ces fichiers.
la source
-print
est le seul prédicat, il peut être omis; De plus, il existe des globes simples. Ainsi, trouver tous les.txt
fichiers dans un répertoire sefoo
ferait avecfind foo -name \\*.txt
find .
est récursive à partir du cwd. Essayez de taperfind .
dans votre répertoire racine!Si vous souhaitez rechercher dans un dossier entier, utilisez simplement -r sur grep:
Avec find, vous pouvez également utiliser xargs:
ou pour vous assurer que vous recherchez deux fichiers à la fois et que les noms de fichiers sont donc spécifiés:
la source
grep
attend à la fois un modèle et une spécification de fichier. S'il en manque un, il utilise ce qui est passé comme modèle et attend que les données soient recherchées via une entrée standard.Si vous souhaitez utiliser une spécification de fichier plus complexe, utilisez
find
.la source
-exec
prédicat dansfind
.