如何使用find命令列出包含空格的文件路径名?

如何使用find命令列出包含空格的文件路径名?
find ~ -iname "*.mp3"

我想找到我的主目录及以后的所有 .mp3 文件。

以下是部分结果:

/home/koshy/音乐/These Boots Are Made for Walkin Nancy Sinatra.mp3 /home/koshy/音乐/alicia keys - Killing me softly (live at Showcase).mp3

注意其中的空格没有被转义吗?

拿到文件后,我想将其中一两个复制到新位置。但随后我不得不手动更改文件名,这可能非常繁琐:

cp /home/koshy/Music/alicia\ keys\ -\ Killing\ me\ softly\ (live\ at\ Showcase).mp3 .

(请注意空格现在是如何转义的)?

肯定还有更好的方法吗?

答案1

尝试一下这个:

$ find Downloads/ -iname "* *" -print0 | xargs -0 ls 
'Downloads/Cloud/Multi-Runtime Microservices Architecture.pdf'

$ cp 'Downloads/Cloud/Multi-Runtime Microservices Architecture.pdf' .

更多方法

相关内容