вывод awk launchctl и передача в другую команду

#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/%'