52

一旦我在另一个目录中,我想从特定目录复制多个文件。为了澄清我想立即执行以下操作(一个命令):

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

我不能使用 cp ../dir5/dir4/dir3/dir2/* . ,因为dir2里面有n文件(n>4)

顺便说一句,我正在使用bash.

谢谢。

4

3 回答 3

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

或(在 Bash 中)

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

如果文件名不连续,您可以使用

cp ../dir5/dir4/dir3/dir2/{march,april,may} .
于 2012-03-28T21:22:49.777 回答
5

如果您要复制的所有文件都采用 的模式file{number}{othertext},您可以使用类似:

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

请注意,这将复制file5,但它也会复制file0abc

如果您只想复制这四个文件(而不是 {othertext} 文件),您可以使用:

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

请注意,虽然这看起来像是正则表达式的一部分,但它不是。

于 2012-03-28T21:24:06.537 回答
3

试试这个:

 cp ../dir5/dir4/dir3/dir2/file{1..4}
于 2012-03-28T21:23:28.573 回答