如何避免在复杂的MDFIND命令中使用40个变量

时间:2016-03-30 02:58:27

标签: bash applescript

我正在寻找更好的方法来做到以下几点。

我目前正在从文本文件中读取最多40个字符串,以构建40个变量以供在此MDFIND命令中使用(仅显示前2个aa_fN变量 - 其中N是1到40之间的数字)。

mdfind -onlyin "/Users/username/Documents/AAA/" "(  (kMDItemUserTags == 'Gray*'cdw) && (  (kMDItemDisplayName == '*$KMVAR_aa_f1*'c) || (kMDItemDisplayName == '*$KMVAR_aa_f2*'c)  )  )"

有没有更好的方法来做到这一点而不需要使用40个变量?

1 个答案:

答案 0 :(得分:0)

对我来说,你想要通过一个循环接近这个,就像这样...

repeat with i from 1 to 40
    do shell script "mdfind -onlyin \"/Users/username/Documents/AAA/\" \"(  (kMDItemUserTags == 'Gray*'cdw) && (  kMDItemDisplayName == '*$KMVAR_aa_f" & i & "*'c )  )\""
    -- do something with rslts
end repeat

注意:我没有测试您的原始代码是否存在错误