ABU*_*HIM 8 shell grep awk shell-script
cat /etc/oratab
#test1:/opt/oracle/app/oracle/product/11.2.0.4:N
+ASM2:/grid/oracle/app/oracle/product/11.2.0.4:N # line added by Agent
test2:/opt/oracle/app/oracle/product/11.2.0.4:N # line added by Agent
test3:/opt/oracle/app/oracle/product/11.2.0.4:N # line added by Agent
oracle@node1 [/home/oracle]
cat /etc/oratab | grep -v "agent" | awk -F: '{print $2 }' | awk NF | uniq
Run Code Online (Sandbox Code Playgroud)
awk NF 是在输出中省略空行。
只有以 # 开头的行需要被忽略。预期输出:
/grid/oracle/app/oracle/product/11.2.0.4
/opt/oracle/app/oracle/product/11.2.0.4
Run Code Online (Sandbox Code Playgroud)
Hau*_*ing 14
awk -F: '/^[^#]/ { print $2 }' /etc/oratab | uniq
Run Code Online (Sandbox Code Playgroud)
/^[^#]/匹配第一个字符不是#; 的每一行 [^意思是“在下一个(或者更确切地说:关闭)之前没有任何字符]。
因为只需要前两个冒号之间的部分,所以-F:' makesawk split the line at colons, andprint $2` 打印第二部分。