#1 Le 24/04/2016, à 08:54
- compte banni et supprimé
[Résolu] Demande d'explication commande bash dans find
Bonjour,
depuis quelques temps je cherchais une commande spécifique que j'ai obtenu grâce à cqfd93 lorsqu'elle aidait une personne
ce pendant je ne comprend pas bien cette commande, plus particulièrement le bash -c
La commande "find" je connais et je m'en utilise souvent mais lié à "bash", mystère, même la suite ne s'écrit plus pareil (mise à part le "\;" à la fin)
Si quelqu'un pourrait m'apporter une petite explication
find /etc/apt -name '*.list' -exec bash -c 'echo -e "\n$1\n"; nl -ba "$1"' _ '{}' \;
Merci à toutes personnes qui m'apporter un début de réponse
Dernière modification par philanthrope (Le 24/04/2016, à 09:49)
#2 Le 24/04/2016, à 09:15
- Postmortem
Re : [Résolu] Demande d'explication commande bash dans find
Salut,
bash -c 'echo -e "\n$1\n"; nl -ba "$1"' _ toto.list
"bash -c" sert à exécuter la commande en argument du -c, ici, tout ce qui est entre les simples quotes.
Dans cette commande, $0 est remplacé par le 1er argument qui suit (ici c'est "_"), $1 est remplacé par le 2ème argument (ici, "toto.list") etc...
Donc ici, c'est comme si tu avais exécuté directement dans le terminal :
echo -e "\ntoto.list\n"; nl -ba "toto.list"
Et donc, couplé au find, ça exécute la commande pour tous les fichiers *.list.
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#3 Le 24/04/2016, à 09:48
- compte banni et supprimé
Re : [Résolu] Demande d'explication commande bash dans find
Ok, avec un peu de réflexion je crois que ça marche
Merci