Se eu estiver em um diretório chamado /usr/share/tcl8.3/encoding, qual comando copiaria todos os arquivos começando com "cp" que também contêm um número par (da lista a seguir):
cp1250.enc cp1255.enc cp737.enc cp857.enc cp864.enc cp932.enc
cp1251.enc cp1256.enc cp775.enc cp860.enc cp865.enc cp936.enc
cp1252.enc cp1257.enc cp850.enc cp861.enc cp866.enc cp949.enc
cp1253.enc cp1258.enc cp852.enc cp862.enc cp869.enc cp950.enc
cp1254.enc cp437.enc cp855.enc cp863.enc cp874.enc
Responder1
Você já tentou isso?
cp cp*[24680].enc destination
Responder2
Tentar:cp cp*[02468]* /path/to/dest/
Responder3
Comando
find . -maxdepth 1 | grep -P "/cp\d*[02468]\.enc$" | xargs -I '{}' cp '{}' destination
Como funciona
find . -maxdepth 1
não recursivamente (-maxdepth 1
) lista todos os arquivos no diretório atual (.
)grep -P "..."
combina cada linha com oexpressão regular...
/
e\.enc
são as strings/
e.enc
.\d*
é qualquer número de dígitos.[02468]
é exatamente um dígito par.$
sinaliza o fim de uma linha.
xargs -I '{}' cp '{}' destination
executa o comandocp '{}' destination
onde
'{}'
é substituído por cada linha canalizada do comando anterior.