2013-05-16 6 views
0

Когда я бегу,Извлечение содержимого из строки в UNIX

ps aux | grep dexter | grep ruby | grep -v grep 

Это то, что я получаю,

dexter 3285 0.0 0.0 31652 5356 ? S 00:01 0:01 ruby /home/dexter/script.ruby 

У меня есть весь вывод в строке сказать,

s= dexter 3285 0.0 0.0 31652 5356 ? S 00:01 0:01 ruby /home/dexter/script.ruby 

Мне нужно извлечь /home/dexter/script.ruby из строки. Как я могу достичь этого в unix?

+0

Unix является операционной системой. Ваш вопрос относится к языку программирования оболочки Bourne, т. Е. 'Sh'. Я добавил соответствующий тег. – tripleee

ответ

1

Использование AWK

ps aux | grep dexter | grep ruby | grep -v grep | awk '{print $11}' 
+0

спасибо за помощь, но мне нужна альтернатива awk. Вывод awk не передается моему сценарию каким-то образом. – D3XT3R

+2

Тем более, что вы все равно вызываете Awk, это может быть реорганизовано совсем немного. 'ps aux | awk '/ [d] exter/&&/[r] uby/{print $ 11}' '. – tripleee

+0

Используйте подстановку команд для захвата результата: 's = $ (ps aux | awk '/ [d] exter/&&/[r] uby/{print $ 11}')' помещает результат в '$ s'. – tripleee

Смежные вопросы