Posts Tagged ‘Command Line’

J’ai eu récemment à cloner dans le rush une carte SD pour mon Raspberry Pi, alors je me suis dit qu’un petit pense bête sur le blog serait utile. Si vous bricolez un peu avec vos Raspberry Pi, vous avez sans aucun doute été confronté à la réinstallation. Même si on trouve pléthore d’applications pour vous assister à créer votre carte SD, souvent lorsqu’on a une config assez spéciale ou vous avez passé du temps dessus. C’est toujours agréable de repartir d’un point de restauration 😉

C’est pourquoi on fait appel à dÉdÉ (à comprendre la ligne de commande “dd”) … Disponible sur votre Mac mais également sur n’importe quelle distribution linux.

Voici une ligne de commande très puissante sur Linux pour chercher des infos dans des fichiers en utilisant Find et Grep.

Je ne sais pas combien de fois j’ai cherché un mot ou une chaîne de caractères dans mon arborescence sachant pertinemment qu’elle existe mais sans me souvenir ou elle se situe.

Dans ce cas précis, j’exécute la puissante ligne de commande, qui utilise les fonctions find et grep pour rechercher ce dont j’ai besoin:

# find . -type f -exec grep -il 'KaizerOnion' {} \;

C’est une façon particulière de mélanger les commandes find et grep pour rechercher tous les fichiers dans chaque sous-répertoire de mon emplacement actuel. Elle recherche la chaîne “KaizerOnion” dans chaque fichier sous le répertoire courant, d’une manière insensible à la casse. Cette fonction peut être décomposé comme suit:

  • “.” signifie qu’il regarde dans le répertoire courant
  • “-type f” signifie qu’il regarde uniquement dans les fichiers
  • “-exec grep -il kaizeronion” signifie qu’il recherche la chaîne ‘kaizeronion’ sans se soucier des majuscules ou miniscules et retourne la ligne et le fichier correspondant quand il a trouvé.

A noter que sur Mac OS X vous pouvez utiliser la fonction mdfind au lieu de la combinaison Find et Grep. La commande mdfind est la ligne de commande équivalent au Spotlight.

$ mdfind 
mdfind: no query specified.

Usage: mdfind [-live] [-count] [-onlyin directory] [-name fileName | -s smartFolderName | query]
list the files matching the query
query can be an expression or a sequence of words

	-live             Query should stay active
	-count            Query only reports matching items count
	-onlyin      Search only within given directory
	-name       Search on file name only
	-s          Show contents of smart folder 
	-0                Use NUL (``\0'') as a path separator, for use with xargs -0.

example:  mdfind image
example:  mdfind -onlyin ~ image
example:  mdfind -name stdlib.h
example:  mdfind "kMDItemAuthor == '*MyFavoriteAuthor*'"
example:  mdfind -live MyFavoriteAuthor