How to copy multiple files from a different directory using cp?

96,564

Solution 1

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

or (in Bash)

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

If the file names are non-contiguous, you can use

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

Solution 2

If all the files you want to copy are in the pattern of file{number}{othertext}, you could use something like:

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

Note that this will copy file5, but it will also copy file0abc.

If you would like to copy ONLY those four files (and not the {othertext} ones), you can use:

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

Note that while this looks like part of a regular expression, it is not.

Solution 3

Try this one:

 cp ../dir5/dir4/dir3/dir2/file{1..4}
Share:
96,564
ziulfer
Author by

ziulfer

Updated on July 22, 2022

Comments

  • ziulfer
    ziulfer almost 2 years

    I want to copy multiple files from a specific directory once I am in another directory. To clarify I want to do the following, at once (one command):

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

    I can't use cp ../dir5/dir4/dir3/dir2/* . because in dir2 there are n files (n>4)

    By the way, I'm using bash.

    Thanks.