consulta de comando cp

consulta de comando cp

Si estoy en un directorio llamado /usr/share/tcl8.3/encoding, ¿qué comando copiaría todos los archivos que comienzan con "cp" y que también contienen un número par (de la siguiente lista):

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

Respuesta1

¿Has probado esto?

cp cp*[24680].enc destination

Respuesta2

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

Respuesta3

Dominio

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

Cómo funciona

  • find . -maxdepth 1de forma no recursiva ( -maxdepth 1) enumera todos los archivos en el directorio actual ( .)

  • grep -P "..."une cada línea con laexpresión regular ...

    • /y \.encson las cuerdas /y .enc.

    • \d*es cualquier número de dígitos.

    • [02468]es exactamente un dígito par.

    • $señala el final de una línea.

  • xargs -I '{}' cp '{}' destinationejecuta el comando

    cp '{}' destination
    

    donde '{}'se sustituye por cada línea canalizada desde el comando anterior.

información relacionada