consulta de comando cp

consulta de comando cp

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 1não recursivamente ( -maxdepth 1) lista todos os arquivos no diretório atual ( .)

  • grep -P "..."combina cada linha com oexpressão regular ...

    • /e \.encsã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 '{}' destinationexecuta o comando

    cp '{}' destination
    

    onde '{}'é substituído por cada linha canalizada do comando anterior.

informação relacionada