我正在尝试编写一个脚本,将音乐库中的一些文件进行转换。
但是如果我像这样做:
在包含以下内容的文件夹中进行解释:
它将返回:
我该如何防止for循环将空格字符解释为分隔符?
我可以用
有什么想法吗?
但是如果我像这样做:
#!/usr/bin/zsh
for x in $(find -name "*.m4a");
do
echo $x;
done
在包含以下内容的文件夹中进行解释:
foo\ bar.m4a
它将返回:
foo
bar.m4a
我该如何防止for循环将空格字符解释为分隔符?
我可以用
$(find -name "*.m4a" | sed "s/ /_/g")
替换$(find -name "*.m4a")
,然后在循环内部使用反向的sed
,但是如果文件名/路径已经包含下划线(或其他我可能用作下划线替代的字符)呢?有什么想法吗?