От ps -ef
командный выход -Dorg.xxx.yyy=/home/user/aaa/server.log
.grep часть текста из вывода ps с регулярным выражением
Я хотел бы извлечь путь к файлу /home/user/aaa/server.log
(может быть любым файлом name.file).
Теперь я использую команду:
ps -ef | grep -Po '(?<=-Dorg.xxx.yyy=)[^\s]*'
Он будет отображать две совпавшие результаты:
/home/user/aaa/server.log
)[^\s]*
Похоже, он считает команду, а для 2-го соответствует результату. Как его удалить? Или есть другие предложения? (Я не могу использовать -m1
).
У меня нет такого поведения, с версией grep вы используете? 'grep --version' – chaos
это grep (GNU grep) 2.18 – user1684651
Я думаю, что это правильное поведение, потому что ps -ef также указан в его результате – user1684651