salut, > J'utilise plutôt emacs et ne connais pas bien vi autrement que pour > éditer des fichiers de config.
/!\: message à caractère informatif sans volonté prosélyte une des raisons qui me font aimer vim est justement la simplicité avec laquelle tu peux interagir avec les autres commandes. j'ai fais toute une conférence là dessus (c'est en euuuhh-anglais) https://github.com/eiro/talk-acme-changed-my-life je fais des demos qui illustrent ce que je te proposais de faire. > Il me manquais deux notions : > [^.\n] non match (la négation de la correspondance > \1 backreference dans l'expression régulière, là par contre il va > falloir que je lise une bonne doc sur le sujet, G pas tout compris ! ah ben sans rentrer dans les détails (attention: le -r est important) soit une liste de tu veux transformer. disons la liste suivante: Manipulation - Au commencement, le troisième homme - Ep 1⧸6 - Documentaire sur l'affaire Clearstream [vzKpalcKfF4].webm Manipulation - Clearstream, la banque des banques - Ep 2⧸6 - Documentaire sur l'affaire Clearstream [RaDFbeO94Rg].webm Manipulation - Jean-Luc Lagardère, le scénario noir - Ep 3⧸6 - l'affaire Clearstream - Y [a7glzdg_1ng].webm Manipulation - Karachi et le trésor de guerre - Ep 5⧸6 - l'affaire Clearstream - Y [SePDLJt85bw].webm Manipulation - La république des mallettes - Ep 6⧸6 - l'affaire Clearstream - Y [QrdpPCZfA1w].webm Manipulation - Taïwan, naissance de la zone grise - Ep 4⧸6 - l'affaire Clearstream - Y [qYzEW7rZkn0].webm en la liste suivante 1_Au_commencement_le_troisième_homme.webm 2_Clearstream_la_banque_des_banques.webm 3_Jean-Luc_Lagardère_le_scénario_noir.webm 5_Karachi_et_le_trésor_de_guerre.webm 6_La_république_des_mallettes.webm 4_Taïwan_naissance_de_la_zone_grise.webm la première étape c'est de trouver la structure Manipulation - (TITRE) - Ep 1⧸(NUMERO) - (RESTE) que je veux transformer en (NUMERO)_(TITRE).webm * le titre arrive en premier (\1) et est composé de n'importe quoi (.*) * le numéro arrive en second (\2) et est composé d'un numéro * j'aurais pu écrire [0-9] * je suis une flême: dans notre cas, '.' fait bien l'affaire * tout le reste (.*), on s'en fout j'ai donc le motif /^Manipulation - (.*) - Ep 1⧸(.) - .*/ que je veux transformer en \2_\1.webm ensuite je repasse derrière pour virer les caractères étranges: s/[ ,]+/_/g donc si je fais sed -r ' # afficher le nom actuel p # modifier la structure s!^Manipulation - (.*) - Ep (.).*!\2_\1.webm! # virer les caractères pourris s/[ ,]+/_/g ' <<% … J'ai une nouvelle liste avec pour chaque épisode: * nouveau nom * ancien nom si je demande à xargs de prendre ces noms 2 par 2 pour les filer à mv, je fais du renommage de masse: { sed -r ' # afficher le nom actuel p # modifier la structure s!^Manipulation - (.*) - Ep (.).*!\2_\1.webm! # virer les caractères pourris s/[ ,]+/_/g ' | xargs -d'\n' -n2 mv <<% … et tout ça quand tu le fais depuis vim c'est très interactif parceque chaque étape est du texte que tu peux modifier. elle est pas belle la vie ? à nouveau: si je suis allé trop vite, hésite pas à demander :) cordialement, marc