小编Maa*_*eDa的帖子

使用带有 [] 的“find”作为文件名

背景:我正在尝试查找 xml 文件中提到的音乐文件来组织我的音乐播放列表。我正在编写一个脚本来从 xml 标记中提取文件名以自动查找文件。

我的音乐存在于$musicroot,所以我find在那里发行。但由于字符的原因我找不到以下文件[]

find $musicroot -name "R. Kelly - Step In The Name Of Love [mp3clan.com].mp3" -type f
Run Code Online (Sandbox Code Playgroud)

什么都不返回,但如果我转义,[]那么它就可以工作。

find $musicroot -name "R. Kelly - Step In The Name Of Love \[mp3clan.com\].mp3" -type f
/mnt/Data/Dynamic/Multimedia/Music/Not Desi/Party/R. Kelly - Step In The Name Of Love [mp3clan.com].mp3
Run Code Online (Sandbox Code Playgroud)

请注意,在我的脚本中,歌曲文件在歌曲循环中迭代并存在于变量 中$song。不确定这是否有影响。

我真的希望能够将文件名传递到find我的脚本中,而不必担心像这样的转义字符,但我似乎无法在网上找到任何内容。find可能是因为find 是一个很常见的英语单词,所以很难搜索。

这可能吗?

bash special-characters find

4
推荐指数
1
解决办法
615
查看次数

标签 统计

bash ×1

find ×1

special-characters ×1