gpt4 book ai didi

linux - 如何在 Linux 终端中复制带空格的文件列表

转载 作者:可可西里 更新时间:2023-11-01 10:57:54 26 4
gpt4 key购买 nike

我的 Windows 硬盘安装在 Ubuntu 16.04 LTS 的 /media 中。在我的终端中,我已导航到路径 /media/me/OS/Users/Me/Music。从这里,我运行一个查找命令来搜索此 Windows 路径中的所有 MP3:

find . -type f -name *.mp3

这将返回一堆 .mp3 文件路径(颜色没有任何意义;一定是通过 wiki 格式发生的):

./iTunes/iTunes Music/Yeah Yeah Yeahs/It's Blitz/01 Skeletons.mp3
./iTunes/iTunes Music/Yeah Yeah Yeahs/It's Blitz/Gold Lion.mp3
./iTunes/iTunes Music/Yeah Yeah Yeahs/It's Blitz/Heads Will Roll.mp3
./iTunes/iTunes Music/Yeah Yeah Yeahs/It's Blitz/Maps.mp3

如您所见,文件名中有空格。我的目标是将列表中的所有文件(大约 560 个)复制到我的 Ubuntu HDD 的 /home/me/Music 目录。下面是我尝试过的事情的列表,所有这些都以终端对我大喊它找不到“./iTunes/iTunes”、“音乐/是”、"is"而告终……你明白了想法。

我尝试过的事情:

  1. for f in $(find . -name *.mp3); do cp $f ~/Music/WindowsMP3s/; done
  2. find . -type f -name *.mp3 > output.txt然后 while read file; do cp $file ~/Music/WindowsMP3s/; done <output.txt

我已经尝试在 for 循环和 output.txt 文件本身中用重音符号 (`) 包围文件名。我什至尝试过在每个空格前使用 1 和 2 个反斜杠编辑 output.txt。

任何想法都会很棒!

附言是的,我知道我可以通过文件管理器完成这一切并将它们复制到外部硬盘驱动器,然后将它们复制到 Ubuntu,但那有什么乐趣呢?! :)

最佳答案

试试“-exec”怎么样..

find . -type f -name "*.mp3" -exec cp {} ~ \;

将波浪号替换为您想要的复制目标。

引用资料: https://unix.stackexchange.com/questions/243095/how-does-find-exec-pass-file-names-with-spaces

关于linux - 如何在 Linux 终端中复制带空格的文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37848977/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com