Eu tenho uma lista de arquivos com números consecutivos como sufixos. Gostaria de copiar apenas um intervalo desses arquivos. Como posso especificar um intervalo como parte do meu comando 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*
Gostaria de copiar arquivos de P1080275.JPG para P1080283.JPG com algo semelhante a:
$cp P10802[75-83].JPG ~/Images/.
Existe uma maneira de fazer isso?
Zsh, com a opção extendedglob, possui o operador globbing (correspondência de padrão).
corresponderá aos nomes de arquivos no diretório atual que correspondem a esse padrão (cuidado com o fato de P1080275.JPG corresponder, mas P108020000000075.JPG)
Por outro lado, o operador de expansão de string {x ... y} (suportado pelo zsh e pelas versões recentes do bash e ksh93) expande para as strings de x para y, independentemente dos arquivos existentes no diretório atual.
copiará os arquivos correspondentes,
Mas você receberá erros se, por exemplo, o P1080281.JPG não existir.
fonte
Isso funcionaria para você:
fonte