2012-03-28 12 views
43

Quiero copiar varios archivos de un directorio específico una vez que estoy en otro directorio. Para aclarar lo que quiero hacer lo siguiente, a la vez (un comando):Cómo copiar varios archivos desde un directorio diferente usando cp?

cp ../dir5/dir4/dir3/dir2/file1 . 
cp ../dir5/dir4/dir3/dir2/file2 . 
cp ../dir5/dir4/dir3/dir2/file3 . 
cp ../dir5/dir4/dir3/dir2/file4 . 

no puedo usar cp ../dir5/dir4/dir3/dir2/* . porque en dir2 hay n archivos (n>4)

Por cierto, estoy usando bash .

Gracias.

+1

cp fuente Directorio -t es una opción Esto se puede utilizar para copiar todos los archivos seleccionados de un/dir a otro .... gracias – Xander

Respuesta

72
cp ../dir5/dir4/dir3/dir2/file[1234] . 

o (en Bash)

cp ../dir5/dir4/dir3/dir2/file{1..4} . 

Si los nombres de los archivos son no contiguos, puede utilizar

cp ../dir5/dir4/dir3/dir2/{march,april,may} . 
+0

realidad en el caso real, el nombre de los archivos son completamente diferentes. 'cp ../dir5/dir4/dir3/dir2/[marzo abril mayo] .' no funcionará – ziulfer

+1

¿Por qué no nos dices el caso real entonces? – Philipp

+0

He editado mi comentario anterior – ziulfer

3

Prueba con esto:

cp ../dir5/dir4/dir3/dir2/file{1..4} 
+0

Solo funciona en bash. OP no especificó qué shell está usando. – Graham

+0

Estoy usando bash – ziulfer

5

Si todos los archivos que desea copiar están en el patrón file{number}{othertext}, podría utilizar algo como:

cp ../dir5/dir4/dir3/dir2/file[0-9]* . 

Tenga en cuenta que esto va a copiar file5, pero también copiará file0abc.

Si desea copiar sólo los cuatro archivos (y no a los {othertext} queridos), puede utilizar:

cp ../dir5/dir4/dir3/dir2/file[1-4] . 

Tenga en cuenta que si bien este ve como parte de una expresión regular, no es.

+0

gracias en realidad en el caso real, el nombre de los archivos es completamente diferente. 'cp ../dir5/dir4/dir3/dir2/[marmar abril mayo] .' no funcionará – ziulfer

+0

Pero esa no era su pregunta. – ghoti

+0

También quiero mencionar que funciona 'cp ../dir5/dir4/dir3/dir2/F* .'. Esto es para el caso donde solo la letra inicial en los nombres de archivo es la misma. Y solo se desean copiar los archivos que comienzan con 'F' – smac89

Cuestiones relacionadas