649 votes

find -exec avec plusieurs commandes

Je suis en train d’utiliser find - exec avec plusieurs commandes sans succès. Quelqu'un sait-il si les commandes telles que les suivantes sont possibles ?

Fondamentalement, je suis en train d’imprimer la dernière ligne de chaque fichier txt dans le répertoire courant et impression à la fin de la ligne, une virgule suivie par le nom de fichier.

958voto

Tinker Points 1154

trouver acceptera également multiple "-exec' portions à la commande :

151voto

Avari Points 121
find . -type d -exec sh -c "echo -n {}; echo -n ' x '; echo {}" \;

77voto

Dennis Williamson Points 105818
Un des cours suivants :

8voto

Andrea Spadaccini Points 4755

Je ne sais pas si vous pouvez le faire grâce à localiser, mais une autre solution serait de créer un script shell et de l’exécuter avec find.

lastline.sh :

Rendez le script exécutable

Utilisation `` :

5voto

Eric Duruisseau Points 11

1ère réponse de Denis est la réponse pour résoudre le problème. Mais en fait, ce n'est plus une trouver avec plusieurs commandes en une seule exec comme le titre le suggère. Pour répondre à l'un exec avec plusieurs commandes chose que nous allons avoir à chercher quelque chose d'autre à resolv. Voici un exemple:

Conserver les dernières 10000 lignes de .les fichiers journaux qui a été modifié au cours des 7 derniers jours, à l'aide de 1 exec commande à l'aide de plusieurs {} références

1) voir à ce que la commande n'sur les fichiers:

find / -name "*.log" -a -type f -a -mtime -7 -exec sh -c "echo tail -10000 {} \> fictmp; echo cat fictmp \> {} " \;

2) le Faire: (attention: pas plus de"\>", mais seulement ">" ce qui est voulu)

find / -name "*.log" -a -type f -a -mtime -7 -exec sh -c "tail -10000 {} > fictmp; cat fictmp > {} ; rm fictmp" \;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X