bonjour à tous,
j'aimerais savoir s'il était possible comme l'indique le titre de ce topic de faire un truc dans le genre:
cat < MON FICHIER > | xargs -n1 -I{} mv {}* {}.mp3
merci de votre attention…
bonjour à tous,
j'aimerais savoir s'il était possible comme l'indique le titre de ce topic de faire un truc dans le genre:
cat < MON FICHIER > | xargs -n1 -I{} mv {}* {}.mp3
merci de votre attention…
# probablement mais...
Posté par NeoX . Évalué à 1.
tu dois pouvoir simplifier tes redirections
cat mon_fichier | xargs ...
sera plus lisible
[^] # Re: probablement mais...
Posté par totof2000 . Évalué à 5.
UUOC … On peut encore simplifier.
xargs < monfichier command fonctionne.
Contenu du fichier toto.txt:
# erreur de ma part
Posté par gunsailor . Évalué à 1.
Je tiens juste à préciser que la formule:
signifiait n'importe quel fichier de mon hdd.
[^] # Re: erreur de ma part
Posté par Kerro . Évalué à 3. Dernière modification le 04 septembre 2019 à 22:59.
En général on écrit plutôt [MON_FICHIER] ou même si ce n'est pas un usage parfait.
Surtout pour du shell où < et > ont une signification, et < MON FICHIER > est justement valide (il faudrait MON_FICHIER ou 'MON FICHIER').
[^] # Re: erreur de ma part
Posté par gunsailor . Évalué à 1.
c'est entendu.
Mon problème n'est toujours pas résolu.
Je vais être plus précis.
Je dispose de fichiers mp3 avec un surplus de caractères.
J'enlève ce surplus de caractères et range l'ensemble des noms de mes fichiers tronqués dans MON_FICHIER.
C'est à partir de là que je bug.
comment faire pour passer au premier paramètre du mv de mon xargs les nom des fichiers dont je ne dispose que d'une partie tronquée.
d'où le:
qui ne fonctionne pas.
pourriez vous me venir en aide?
[^] # Re: erreur de ma part
Posté par gUI (Mastodon) . Évalué à 3. Dernière modification le 05 septembre 2019 à 08:15.
je pense avoir compris ton pb : tu as un fichier MONFICHIER qui contient des noms partiels de fichiers, et tu voudrais retrouver ces fichiers et les renommer.
j'ai fait un essai vite fait et je pense que ceci fonctionne :
cat MONFICHIER | xargs -I [] find MONPATH -name *[]* -exec cp {} /tmp/[].mp3 \;
find
pour trouver le fichier, puis avec-exec
tu le traites[]
pour la recherche et{}
pour le traitement sur le fichier trouvéEn théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: erreur de ma part
Posté par gunsailor . Évalué à 1.
Merci gUI,
Je suis arrivé à faire en partie ce que je voulais grâce à toi.
Maintenant j'ai un problème de guillemets non-appairés.
Les fichiers contenant des guillemets ne sont pas traités.
Verrais tu une solution à mon problème ?
[^] # Re: erreur de ma part
Posté par NeoX . Évalué à 3.
faut supprimer les guillemets avant traitement
au pif
find -iname '*"*' -exec rename 's/"//g' {}\;
dire à find de trouver tous les fichiers contenant un ", et faire le rename en supprimant le "
[^] # Re: erreur de ma part
Posté par gunsailor . Évalué à 2.
Merci NeoX,
je viens enfin d'aboutir.
Le sujet est maintenant résolu.
Sur mon prochain post, je vous livrerai la page github de mon projet.
Merci encore
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.