J'ai une liste de fichiers avec des numéros consécutifs comme suffixes. Je souhaite copier uniquement une série de ces fichiers. Comment puis-je spécifier une plage dans le cadre de ma commande cp.
$ls
P1080272.JPG* P1080273.JPG* P1080274.JPG* P1080275.JPG* P1080276.JPG* P1080277.JPG*
P1080278.JPG* P1080279.JPG* P1080280.JPG* P1080281.JPG* P1080282.JPG* P1080283.JPG*
Je voudrais copier des fichiers de P1080275.JPG vers P1080283.JPG avec quelque chose de similaire à:
$cp P10802[75-83].JPG ~/Images/.
Y a-t-il un moyen de faire cela?
Zsh, avec l'option extendedglob a l' opérateur globbing (pattern matching).
correspondra aux noms de fichiers dans le répertoire en cours qui correspondent à ce modèle (attention à ce que P1080275.JPG correspond mais à P108020000000075.JPG également)
À l'autre extrémité, l'opérateur d'expansion de chaîne {x ... y} (pris en charge par zsh et les versions récentes de bash et ksh93), s'étend aux chaînes de x à y, quels que soient les fichiers présents dans le répertoire actuel.
copiera les fichiers correspondants,
Mais vous obtiendrez des erreurs si, par exemple, P1080281.JPG n'existe pas.
la source
Est-ce que cela fonctionnerait pour vous:
la source