Reanomena lots de fitxers de lliurament sense perdre el control

Previsualitza i valida canvis de nom massius amb zmv

Reanomena lots de fitxers de lliurament sense perdre el control

Quan una jornada de preparació de Macs acaba amb vint informes PDF, el desordre acostuma a entrar per una escletxa petita: cada fitxer té un nom correcte per a qui l’ha creat, però poc útil per a qui l’ha de trobar d’aquí a tres mesos. Espais, guions, noms de client llargs i números de sèrie parcials formen una barreja difícil de cercar i encara més difícil d’automatitzar.

zmv, una funció distribuïda amb zsh, permet reanomenar lots a partir de patrons amb captures. Té una virtut important per a feines delicades: pot simular tota l’operació abans de tocar cap fitxer. Zsh tracta el patró amb EXTENDED_GLOB; les captures entre parèntesis passen a ser $1, $2 i les següents dins del nom de destinació. Si dos fitxers acabarien amb el mateix nom o si el destí ja existeix, zmv atura el lot sencer abans d’executar cap moviment. (zsh.sourceforge.io)

Imaginem una carpeta amb informes com aquests:

Lliurament Mac - Fusteria Roca - 1042.pdf
Lliurament Mac - Fusteria Roca - 1043.pdf
Lliurament Mac - Clínica Nord - 2118.pdf

L’objectiu és deixar-los en un format estable, pensat per a una carpeta compartida o un gestor documental:

Fusteria Roca_1042_lliurament-mac.pdf
Clínica Nord_2118_lliurament-mac.pdf

Abans de començar, comproveu que la sessió és realment zsh i quina versió executa el Mac:

print -r -- "$ZSH_VERSION"

Aquesta ordre mostra la versió del procés actual. Terminal utilitza zsh com a shell predeterminat en la configuració habitual de macOS, tot i que una persona usuària o un administrador pot haver triat un altre shell per a les finestres noves. (support.apple.com) Si treballeu amb un Mac gestionat, també convé verificar que les polítiques corporatives no reemplacen el vostre .zshrc.

Situeu-vos a la carpeta de treball i carregueu zmv només per a la sessió actual:

cd ~/Documents/lliuraments-pendents
autoload -Uz zmv

cd canvia el directori de treball; aquí és una decisió de seguretat, perquè el patró següent només afectarà els elements de la carpeta actual. autoload -Uz zmv marca la funció perquè zsh la carregui quan calgui. L’opció -U evita que alias locals alterin la lectura de la funció. El mecanisme d’autocàrrega cerca funcions als directoris definits a fpath. (zsh.sourceforge.io)

Ara executeu una simulació:

zmv -n 'Lliurament Mac - ([^-]##) - ([0-9]##).pdf' '$1_$2_lliurament-mac.pdf'

-n imprimeix les ordres que s’executarien i no modifica res. El primer grup, ([^-]##), captura el nom del client fins al separador -. El segon, ([0-9]##), captura l’identificador numèric. Les cometes simples són intencionades: impedeixen que la shell expandeixi $1 i $2 abans que ho faci zmv.

Llegiu cada línia de la simulació. Si un client conté guions, aquest patró no el representa bé: adapteu-lo abans de continuar. Aquest és el punt en què una regla aparentment elegant revela si descriu la realitat.

Quan la sortida sigui correcta, executeu el canvi amb confirmació individual i traça visible:

zmv -iv 'Lliurament Mac - ([^-]##) - ([0-9]##).pdf' '$1_$2_lliurament-mac.pdf'

-i demana confirmació per a cada moviment i -v mostra l’ordre efectiva. Necessiteu permís d’escriptura sobre la carpeta, perquè el nom és una propietat de l’entrada dins del directori. Per comprovar el resultat, feu:

print -rl -- *_lliurament-mac.pdf

Aquesta ordre llista un fitxer per línia i conserva espais sense reinterpretar-los. Si el lot queda coherent, ja teniu una convenció reutilitzable i visible. La convenció importa tant com la velocitat: converteix una carpeta temporal en un arxiu que encara s’entén quan ja ningú recorda aquella tarda de lliuraments.

Repte final: amplieu el patró perquè també incorpori la data ISO del document, per exemple 2026-10-25_Fusteria Roca_1042_lliurament-mac.pdf, sense acceptar fitxers que no incloguin una data vàlida al nom original.

Per saber-ne més

Fes servir zmv de zsh per normalitzar informes de lliurament de Mac amb una simulació, captures de patrons i protecció contra col·lisions.

🔝

Apple zsh

Altres:

Un agent que fa el primer diagnòstic abans que arribi el tiquet

2023

2024

2026