mdfind 带单引号
mdfind with single quotes
我正在编写一个 applescript,它将根据文件名(包括扩展名)为我找到一个文件。该脚本在 bash shell 中使用了 mdfind。我对这个结构很幸运:
mdfind 名称:'"filename.avi"'
但是当我的文件名中有一个单引号(撇号)时它会崩溃,如下所示:
mdfind 名称:'"MST3K - S05E13 - The Brain That Wouldn't Die.avi"'
我试过用反斜杠转义单引号,但没有骰子:
mdfind 名称:'"MST3K - S05E13 - The Brain That Wouldn\'t Die.avi"'
我做错了什么?谢谢。
试试这个,并检查结果,这样你就会知道应该如何用撇号引用它,你当然应该删除双引号。你还应该打开 mdfind 的手册页,看看 name 命令是如何执行的。
set q to quoted form of "MST3K - S05E13 - The Brain That Wouldn't Die.avi"
set res to do shell script "mdfind -name 'MST3K - S05E13 - The Brain That Wouldn'\''t Die.avi'"
我正在编写一个 applescript,它将根据文件名(包括扩展名)为我找到一个文件。该脚本在 bash shell 中使用了 mdfind。我对这个结构很幸运:
mdfind 名称:'"filename.avi"'
但是当我的文件名中有一个单引号(撇号)时它会崩溃,如下所示:
mdfind 名称:'"MST3K - S05E13 - The Brain That Wouldn't Die.avi"'
我试过用反斜杠转义单引号,但没有骰子:
mdfind 名称:'"MST3K - S05E13 - The Brain That Wouldn\'t Die.avi"'
我做错了什么?谢谢。
试试这个,并检查结果,这样你就会知道应该如何用撇号引用它,你当然应该删除双引号。你还应该打开 mdfind 的手册页,看看 name 命令是如何执行的。
set q to quoted form of "MST3K - S05E13 - The Brain That Wouldn't Die.avi"
set res to do shell script "mdfind -name 'MST3K - S05E13 - The Brain That Wouldn'\''t Die.avi'"