如何用 cp 命令批量复制文件名中有空格的文件?

用 find 查找某处的 mp3 音乐会发现一大堆这种:
日本群星 (オムニバス) - 私と仕事どっちが大事なのとかいう女にはジャーマンスープレックス.mp3
日本群星 (オムニバス) - 糖分とらねえとなぁー.mp3
日本群星 (オムニバス) - 酢昆布おかわりヨロシ.mp3
陈冠名 - 冰煌雪华——冰璃主题.mp3

明显每个文件都有 N 个空格,如果将 find 的结果直接命令替换成 cp 命令的参数就会因为这些空格导致复制失败。
这种情况该如何是好?

把 find 的输出>到 mp3.txt,再用 VIM 加上引号作为参数也不行:

  • $ cat mp3
    ‘/run/media/nmmsk/3C3E21270C26A9C5/nokia5730_bak/各种音乐/Memory_music/新居昭乃 - 蜜の夜明け.mp3’
    ‘/run/media/nmmsk/3C3E21270C26A9C5/nokia5730_bak/各种音乐/Memory_music/23 - Der Mond Das Meer.mp3’
    ‘/run/media/nmmsk/3C3E21270C26A9C5/nokia5730_bak/各种音乐/Memory_music/Kyle Xian - 笑颜(剧场版《超梦觉醒》ED)(Cover:生物股长).mp3’

这里显示我使用了-- o 选项,但我明显没敲过什么-- o 啊。

  • $ cp -v $(cat mp3) .
    cp: 不适用的选项 – o
    请尝试执行 “cp --help” 来获取更多信息。

你都用 find 了,在 find 后接个 -exec cp '{}' . \; 吧。
你都用 VIM 了,直接在每一行前边加个 cp 后边加上 . 然后 bash 这个文件吧。

本主题在最后一个回复创建后60分钟后自动锁定。不再允许添加新回复。