I need to find two matches in the output from ps. I am searching with
ps -ef |grep mysql for:
/bin/sh /usr/bin/mysqld_safe --defaults-file=/data/mysql/master/agis_core/etc/my.cnf
after this match I want to search back and match the hostname which is x number of lines back, above the match my.cnf. the line I want to grab starts with "ok:" and a hostname in brackets "[hostname]"
I have this grep search but dont really understand it. This grep grabs just the "ok" match but not the entire line, the remainder of this line match contains the hostname I am looking to grab:
grep -Pzo 'my.cnf(?:.*\n)*?\Kok: filename
I want to exclude all lines between, before and after the matches.