由于我使用的是 MacOS Catalina,因此我想受益于mdfind查找与名称匹配的任何文件或目录的有用性。
我想覆盖定位功能(经典功能仍然可以通过键入\locate.
这里的小二进制文件位于~/bin/locate:
#!/bin/bash
if [ "$2" != "" ]; then
mdfind "kMDItemDisplayName == '*$(echo $1)*'c" -onlyin "$2"
else
mdfind "kMDItemDisplayName == '*$(echo $1)*'c"
fi
如果没有第二个参数,我想查找与 $1 (第一个参数)匹配且不区分大小写的所有文件。
如果有第二个参数,它对应于我们想要进行研究的路径。
但是这个新功能定位效果不好。有时会找到文件,有时却找不到,我不明白为什么?
如何修改此脚本以匹配参数 $1 提供的子字符串,特别是,我不知道我是否必须使用option执行$(echo $1), $(echo "$1"),echo "$1"或"$1"其他操作?kMDItemDisplayName
我只想找到文件的所有子字符串(如果可能的话,可能还有目录)。我不想使用 Linux " locate" 因为我必须每次都更新,不像mdfind总是更新。