Verified Commit 8696642b authored by Stephane Bonnet's avatar Stephane Bonnet
Browse files

find

parent 94b1b601
......@@ -18,8 +18,9 @@
Joker le plus utilisé.
Remplace toute suite de caractères dans un motif. S'il est utilisé seul, remplace tout mot.
\begin{exampleblock}{Créeons des fichiers}
\begin{exampleblock}{Créons des fichiers}
\cmd{cd ; mkdir api ; cd api}
\cmd{touch here that there this}
\end{exampleblock}
......@@ -381,9 +382,87 @@ $ locate issue
\begin{frame}[fragile]{\cmd{find}}
\begin{block}{}
\begin{description}
\item[\cmd{find}] recherche un fichier en parcourant l'arborescence
\end{description}
\end{block}
Il suffit de spécifier le point de départ et ce qu'on cherche.
\begin{beamercolorbox}[rounded=true,shadow=true]{terminal}
\begin{Verbatim}
$ find . -name file_1
./api/file_1
\end{Verbatim}
\end{beamercolorbox}
On peut utiliser des jokers dans le nom
\begin{beamercolorbox}[rounded=true,shadow=true]{terminal}
\begin{Verbatim}
$ find . -name 'file_1*' -print
./api/file_11
./api/file_18
./api/file_1
[...]
\end{Verbatim}
\end{beamercolorbox}
\begin{alertblock}{Attention aux quotes}
Le motif doit être entre quotes, sinon il sera interprété par le
shell.
\end{alertblock}
\end{frame}
\begin{frame}[fragile]{Filtrer avec \cmd{find}}
\begin{block}{}
\cmd{find} est capable de filtrer la recherche
\begin{itemize}
\item{Par type de fichier}
\item{Par taille}
\item{Par date de modification}
\item ...
\end{itemize}
\end{block}
\begin{exampleblock}{Cherchons les fichiers de plus de 10 Mo}
\cmd{find / -size +10M -print}
\end{exampleblock}
\begin{alertblock}{Il y a plein d'erreurs!}
Elles sont dûes au permissions d'accès à certains fichiers.
On peut les supprimer en redirigeant la sortie d'erreur vers
le périphérique 'poubelle' \cmd{/dev/null}:
\cmd{find / -size +10M -print 2> /dev/null}
\end{alertblock}
\end{frame}
\begin{frame}[fragile]{Exécuter des commandes avec \cmd{find}}
\cmd{find} peut exécuter une commande sur chaque fichier trouvé
avec l'option \cmd{-exec}.
\begin{exampleblock}{Créer un backup de chaque fichier}
\cmd{find api -name 'file*' -exec cp \{\} \{\}.bak \textbackslash;}
\end{exampleblock}
\begin{block}{Explication}
\begin{itemize}
\item \cmd{cp}] est exécutée pour chaque fichier trouvé
\item \cmd{\{\}} est remplacé par le nom du fichier trouvé
\item \cmd{\textbackslash;} indique la fin de la commande.
\end{itemize}
\end{block}
\begin{alertblock}{}
\begin{itemize}
\item \cmd{-exec} n'autorise qu'une seule commande.
\item On peut avoir plusieurs \cmd{-exec}.
\end{itemize}
\end{alertblock}
\end{frame}
\subsection{Chercher à l'intérieur des fichiers}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment