cp comando inquiry

0

Se eu estiver em um diretório chamado /usr/share/tcl8.3/encoding, qual comando copiaria todos os arquivos que começam 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
    
por user98496 05.06.2012 / 17:12

3 respostas

5

Você já tentou isso?

cp cp*[24680].enc destination
    
por 05.06.2012 / 18:45
1

Experimente: cp cp*[02468]* /path/to/dest/

    
por 05.06.2012 / 17:22
1

Comando

find . -maxdepth 1 | grep -P "/cp\d*[02468]\.enc$" | xargs -I '{}' cp '{}' destination

Como funciona

  • find . -maxdepth 1 não-recursivo ( -maxdepth 1 ) lista todos os arquivos no diretório atual ( . )

  • grep -P "..." corresponde a cada linha em relação à expressã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 final de uma linha.

  • xargs -I '{}' cp '{}' destination executa o comando

    cp '{}' destination
    

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

por 05.06.2012 / 18:46

Tags