informatique:outils:find_xargs
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
informatique:outils:find_xargs [2025/01/02 09:21] – supprimée - modification externe (Date inconnue) 127.0.0.1 | informatique:outils:find_xargs [2025/01/02 09:21] (Version actuelle) – ↷ Page déplacée de informatique:find_xargs à informatique:outils:find_xargs alexis | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Find & xargs ====== | ||
+ | Find est un outil permettant de rechercher des fichiers sur le disque.\\ | ||
+ | Xargs est un outil qui permet de construire des commandes depuis l' | ||
+ | <code bash> | ||
+ | # Si le nombre de fichier est très important, la commande suivante sera interrompu par des erreurs | ||
+ | rm -Rf -- ./* | ||
+ | # Il faut donc utiliser la commande suivante | ||
+ | find . | xargs rm -Rf -- | ||
+ | </ | ||
+ | |||
+ | ===== Décompresser plusieurs fichiers ===== | ||
+ | <code bash> | ||
+ | # Version courte | ||
+ | find . -iname \*tar.gz -print0 | xargs -0 -n1 -r tar -zxf | ||
+ | |||
+ | # Version longue | ||
+ | find . -iname \*tar.gz -print0 | xargs --null --max-args=1 --no-run-if-empty tar --gzip --extract --file | ||
+ | </ | ||
+ | * Options de '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * Options de '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * Options de '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Bien sur il faut faire correspondre les options de '' | ||
+ | |||
+ | ===== Changer l' | ||
+ | Si on utilise la commande '' | ||
+ | Si on n'en a qu'un a modifier, ce n'est pas un vrai problème. Dans le cas contraire, cela risque d' | ||
+ | |||
+ | Pour pallier à ça, il suffit de lancer la commande suivante : | ||
+ | <code bash> | ||
+ | find . -user < | ||
+ | </ | ||
+ | |||
+ | Et ça fonctionne de la même façon pour les groupes : | ||
+ | <code bash> | ||
+ | find . -group < | ||
+ | </ | ||
+ | |||
+ | ===== Lancer plusieurs vidéos simultanément ===== | ||
+ | <code bash> | ||
+ | # Version courte | ||
+ | find . -iname \*mp4 -print0 | xargs -P10 -n1 -0 cvlc --noaudio --L | ||
+ | |||
+ | # Version longue | ||
+ | find . -iname \*mp4 -print0 | xargs --max-process=10 --max-args=1 --null cvlc --noaudio --loop | ||
+ | |||
+ | # Version courte filtrée | ||
+ | find . -iname \*mp4 -print0 | head -n10 -z | tail -n6 -z | xargs -P10 -n1 -0 cvlc --noaudio --L | ||
+ | |||
+ | # Version longue filtrée | ||
+ | find . -iname \*mp4 -print0 | head --lines=10 --zero-terminated | tail --lines=6 --zero-terminated | xargs --max-process=10 --max-args=1 --null cvlc --noaudio --loop | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | # Par défaut, xargs positionne les arguments reçus en fin de ligne. | ||
+ | # Pour utiliser les arguments à un autre endroit, il faut utiliser une chaine de remplacement. Ici, {} | ||
+ | find . -iname \*mp4 -print0 | xargs -P10 -n1 -0 -I ' | ||
+ | </ | ||
+ | |||
+ | * Options de '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * Options de '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * Options de '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * Options de '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | ===== Supprimer tous les répertoires vides du répertoire courant ===== | ||
+ | <code bash> | ||
+ | # Du répertoire courant uniquement | ||
+ | find . -maxdepth 1 -type d -empty -delete | ||
+ | |||
+ | # Récursivement, | ||
+ | find . -type d -empty -delete | ||
+ | </ | ||
+ | |||
+ | <WRAP important> | ||
+ | Il est impératif de positionner '' | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Lancer plusieurs commandes ===== | ||
+ | <code bash> | ||
+ | find . | xargs -n1 -I ' | ||
+ | </ | ||
+ | |||
+ | ===== Afficher l' | ||
+ | <code bash> | ||
+ | find . -not -path " | ||
+ | </ |