问题描述
我正在寻找一个命令,它可以找到路径并打开所有 .app 文件,而只需在终端中更改应用程序名称。
我试过了:
mdfind "calendar.app" "kind:app" | grep -v '/Users/' | xargs open
与日历、Safari、计算器配合使用 --> 查找并打开 .app
但是当我尝试使用带有空间的 .app 时,它不起作用:
mdfind "Google Chrome.app" "kind:app" | grep -v '/Users/' | xargs open
文件 /Applications/Google 和 /Users/Simon/Chrome.app 不存在。
我试过 -0,\ 但没有用
你能帮我吗?
解决方法
由于 mdfind
返回 /Applications/Google Chrome.app
(一个包含空格的名称),因此您需要将它用引号括起来,然后再将其传递给 xargs
。
mdfind "Google Chrome.app" "kind:app" | grep -v '/Users/' | awk '{print "\x27" $0 "\x27" }' | xargs open
像这样,awk
会在字符串前后打印一个单引号(\x27
),结果为:'/Applications/Google Chrome.app'
。现在,xargs
将正确理解此输入。