我需要获取正在运行的Oracle实例的当前SID,我知道一个关键字将成为SID的一部分,如何获取并将其分配给变量。
我正在尝试
ps -ef | grep pmon | grep TESTDB
oracle 5527 23570 0 05:03 pts/5 00:00:00 /bin/ksh -c ps -ef | grep pmon | grep TESTDB
oracle 26617 1 0 Sep24 ? 01:10:57 ora_pmon_TESTDB02
从上面我如何仅提取TESTDB02
预先感谢
答案 0 :(得分:0)
我想你想要
ps -e -o cmd | grep '^ora_pmon_TESTDB' | sed 's/^ora_pmon_//'
ps -e -o cmd
打印所有进程的命令答案 1 :(得分:0)
使用awk
获取第n个字段:
[here goes your chain of commands] | awk -r '{print $8;}' | awk -F '_' -r '{print $(NF);}'
说明:
awk -r '{print $8;}'
仅打印第8个字段,即ora_pmon_TESTDB02
awk -F '_' -r '{print $(NF);}'
使用_
作为字段分隔符(-F
选项),并打印最后一个字段TESTDB02