Reputation: 1369
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.
Upvotes: 52
Views: 98798
Reputation: 49802
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} .
Upvotes: 84
Reputation: 46826
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.
Upvotes: 5