macos - macOS xargs 不会打开 mdfind 和 grep 找到的应用程序
问题描述
我正在寻找一个找到路径并打开所有 .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
return /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
推荐阅读
- python - 当我尝试创建一个新的 df 时,'DataFrame' 对象是不可调用的错误
- php - 致命错误:带有 php sdk 的 LCB_EINVAL 用于沙发底座
- .net - 使用 NuGet 包确保可重现的构建
- bootstrap-4 - 在双折叠导航栏中将内部导航栏居中
- vpn - 使用脚本的 AnyConnect 连接在远程计算机上不起作用
- swift - PDF 未在 WKWebView 中下载
- php - 如果不为 0,则保留逗号后的值
- azure - Azure Batch Service 在作为自定义活动运行时找不到 Az.DataFactory cmdlet
- java - 子类引用变量如何指向超类对象
- android - 动态更新文本视图的问题