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 1
de forma no recursiva (-maxdepth 1
) enumera todos los archivos en el directorio actual (.
)grep -P "..."
une cada línea con laexpresión regular...
/
y\.enc
son 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 '{}' destination
ejecuta el comandocp '{}' destination
donde
'{}'
se sustituye por cada línea canalizada desde el comando anterior.