Il suffisait de connaître l’existence de la commande rename, très utile et très simple.
Par exemple, aujourd’hui j’ai fait:
rename -- 's/^-//' *
pour supprimer tous les «-» en début de nom de fichier qui perturbent beaucoup de commandes (toutes celles qui ignorent le paramètre «- -»)
Elle peut faire des choses très compliquées et subtiles, en fonction de ses compétences avec les expressions régulières. C’est un script Perl, donc il bénéficie de tout ce que les regex de Perl offrent.
Est-ce que tu aurais une référence synthétique sur les « quoting tricks » de bash ? Tu savais tout de suite que tu devais tripler la première quote de la commande rename dans l’alias, ou comme moi tu tâtonnes à chaque fois que des quotes ou des double quotes doivent s’encastrer ?
J’ai fais ça il y a longtemps, mais j’ai certainement du chercher à comprendre et tatonner.
Désolé de décevoir sur mes compétences!
@Sputnik93
Merci, très utile «-nono » (-n), car les «rename» trop vite fais sont parfois pénibles à défaire!
« rename -n » m’évitera certainement quelques angoisses et bévues.
J’espère que je ne me suis pas trompé en modifiant la présentation de ligne de commande que tu proposais dans ton message en fonction de la description que tu donnais entre parenthèses.
J’ai fait précéder et suivre ta ligne de commande par une ligne vide ne contenant que trois caractères backtics
Tu peux visualiser le texte brut de ton message
en cliquant sur l’icône qui ressemble à un crayon qui est située entre le drapeau et les trois points
Si tu doubles le premier slash, tu remplaces chaque espace par un underscore, si tu ne mets qu’un seul slash, tu remplaces uniquement le premier. Cela dépend de ce que tu veux faire.
Pourquoi for i in $(ls)
quand (je crois que) for i in *
fait le même travail (contrairement à ls -A)?
D’autre part, paresse sans doute, avoir à modifier IFS pour chaque commande en ligne est pénible, c’est pourquoi je préfère «boucher les trous» systématiquement et oublier le problème qui ressurgirait un jour ou l’autre, sans doute dans une situation plus désagréable.
Mais il n’est pas inutile d’en rappeler l’existence, particulièrement utile dans les scripts.