#bash #shell
Вопрос:
Как мне передать команду из put из
gent$ launchctl list | grep 'com.apple.CoreSimulator.SimDevice'
9222 0 com.apple.CoreSimulator.SimDevice.B79F217D-5158-48BB-BA4C-7089CA29ACBB
$ launchctl list | grep 'com.apple.CoreSimulator.SimDevice' | awk -F ' ' '{print $2}'
ожидаемый результат
com.apple.CoreSimulator.SimDevice.B79F217D-5158-48BB-BA4C-7089CA29ACBB
В конце концов я хочу передать этот вывод
в launchctl remove <output from above>
Я использую awk, но разделяющее пространство имеет разную длину. Есть какие-нибудь предложения?
Комментарии:
1. Не могли бы вы, пожалуйста, опубликовать свою команду awk в своем вопросе вместе с ожидаемыми результатами, чтобы сделать ее более понятной, спасибо.
Ответ №1:
Вы можете использовать этот конвейер для получения service-name
распечатки, awk
а затем передать ее в xargs
команду, чтобы она выполнялась как launchctl remove gui/501/<service-name>
:
launchctl list |
awk 'index($NF, "com.apple.CoreSimulator.SimDevice") {print $NF}' |
xargs -I % launchctl remove 'gui/501/%'