Renvoyer la sortie d'un 'find' dans un fichier [Résolu/Fermé]

Signaler
-
 Wurlito -
Bonjour à tous,


Je suis encore débutant en shell, et je souhaiterais une commande qui me permette de de copier une sortie obtenue via la commande find, dans un autre fichier, mais seulement après avoir subi une modification.

Je m'explique, j'ai dans un répertoire plusieurs fichiers, et je voudrais réutiliser les noms de ces fichiers dans un algorithme python, et plutôt que de taper à chaque fois le nom de ma fonction python avec le nom du fichier à traiter, je voudrais juste avoir a recopier directement cette sortie dans le terminal python. Pour vous donner un exemple concret, voici ce que veux :

J'ai ces fichiers : fichier1_exp, fichier2_exp, fichier3_exp, et d'autres fichiers qui ne m'intéressent pas ici. Je voudrais dans un premier temps récupérer tous les noms des fichiers qui contiennent '_exp' (j'y suis déjà plus ou moins arrivé avec un find -name '*_exp', mais pas de la façon dont je le voudrais), puis les recopier dans un fichier pour aboutir à un format de ce type :
nomfonctionpython('fichier1')
nomfonctionpython('fichier2')
etc...

Merci par avance pour votre aide !

1 réponse

Messages postés
5
Date d'inscription
mardi 9 juillet 2013
Statut
Membre
Dernière intervention
9 juillet 2013

En principe un > ton fichier à la fin de ta commande devrait te renvoyer le résultat dans ton fichier ?
En fait, je veux traiter la sortie avant de l'inscrire dans le fichier. Si je fais simplement "find -name '*_exp' " > fichiersortie, quand je vais vérifier le contenu de fichiersortie j'aurais :
./fichier1_exp
./fichier2_exp
etc...

Alors que je veux :
texteperso('fichier1_exp')
texteperso('fichier2_exp')
etc...

Est-ce possible de faire ça avec une commande ?
Utilisateur anonyme
Est-ce possible de faire ça avec une commande ?

oui, avec find !
et son option fprintf, qui permet de se dispenser de la redirection.
J'ai réussi à trouver ce que je voulais :
find . -name "*_exp" -type f -printf "texteperso('%f')\n" > test

Merci à vous deux. :)