Re: [LA-discussions] questions bash |
[ Thread Index |
Date Index
| More linuxarverne.org/discussions Archives
]
On Wed, Jan 12, 2011 at 10:41:08PM +0100, Brice Lopez wrote:
> Salut,
>
> petite question aux spécialistes du shell. J'ai un dossier contenant 13
> épisodes nommés "gantz s01e01.mkv", "gantz s01e02.mkv", etc.
>
> Les mkv étant mal foutus, je voudrais les nettoyer et les re-multiplexer
> avec mkcleaner. Malheureusement, le script ne permet pas de faire un
> "mkclean --remux ./*".
>
> J'ai donc essayé un "for gantz in $(ls); do mkclean --remux $gantz;
> done". Mais comme les noms de fichiers contiennent des espaces, il
> cherche sans succès le fichier "gantz", puis le fichier "s01e01", etc..
>
> J'ai aussi essayé "for gantz in $("ls"); do mkclean --remux $gantz;
> done", ça ne marche pas mieux. Du coup, j'ai lâchement résolu le
> problème à coup d'underscore.
Il est toujours mieux de n'utiliser que des chiffres et des lettres
sans accents pour les noms de fichiers, ça évite des problèmes ensuite.
Bon, ceci étant dit, à postériori il y a toujours des solutions.
La solution pour éviter qu'une variable contenant le nom de fichier soit
découpée en deux à cause de l'espace, c'est de la protéger avec des
guillemets doubles :
for gantz in *; do mkclean --remux "$gantz"; done
>
> Si quelqu'un a la vraie solution, ça m'intéresse.
>
> --
> Brice Lopez
>
>
> ---
> Liste de discussions de LinuxArverne
> http://wiki.linuxarverne.org/listes_de_diffusion
---
Liste de discussions de LinuxArverne
http://wiki.linuxarverne.org/listes_de_diffusion