如何在Linux shell中使用空格复制多个目录

时间:2015-12-30 15:30:24

标签: linux shell copy wildcard

我有一个电影目录(它们在自己的文件夹中),我只想传输其中一些。

为什么这不起作用?

movie*代表一个目录

cp -r {movie*, otherMovie*} "/var/media/store n go"

"cp: can't stat '{movie*,': No such file or directory"
"cp: can't stat 'otherMovie*}': No such file or directory"

1 个答案:

答案 0 :(得分:5)

请勿在逗号后面加上空格,以防止处理花括号。因此,它正在查找与{movie*,匹配的文件(文件名开头的文字{)和othermovie*}(结尾处有}的文件文件名)。

cp -r {movie,otherMovie}* "/var/media/store n go"

这应该适用于源名称中的空格。

$ touch "Avengers Age of Ultron" "Die Hard A Good Day"
$ echo {"Avengers Age of"*,"Die Hard A Good"*}
Avengers Age of Ultron Die Hard A Good Day