linux - 如何在 Linux shell 中复制带空格的多个目录

标签 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"

最佳答案

不要在逗号后放置空格,这会阻止处理大括号。因此,它正在寻找匹配 {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

关于linux - 如何在 Linux shell 中复制带空格的多个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34532368/

相关文章:

bash - 在一个命令中创建临时文件并将输出重定向到它

linux - 使用 Bash shell 中内置的 'command'

templates - 使用 ansible 模板但 rysnc 移动文件

linux - 如何使用 shell 脚本将目录中列出的所有文件分配给文件列表?

ruby - 尝试在 Ruby 中使用 if/else 检查变量的内容

linux - 在 bash 中以 dd/mm/yyyy 格式计算到特定日期的总天数

Java:为什么迭代器不可复制

linux - SMB 客户端问题 - NT_STATUS_LOGON_FAILURE

linux - 如何强制 'cp' 覆盖目录而不是在里面创建另一个目录?

linux - 在 linux 中复制文件夹而不是 tar 文件