I have some task on which i need to know the install date of WLS which is located in second row of file called envVars.properties
which is located in /opt/weblogic1221/wlserver_12.2.1/installation/install/envVars.properties
.
I have server which has multiple versions of WL there for I use *
in /opt/weblogic*/wlserver*/...
.
But when I run cat /opt/weblogic*/wlserver*/installation/install/*.properties| awk 'FNR == 2 {print}'
I get only 1 result (for the first file it finds).
See:
[root@server090 ~]# cat /opt/weblogic*/wlserver*/installation/install/*.properties| awk 'FNR==2{print}' #Mon Feb 02 14:47:02 IST 2015
Without awk
:
[root@server90 ~]# cat /opt/weblogic*/wlserver*/installation/install/*.properties #Copyright (c) 1999, {0}, Oracle. All rights reserved. #Mon Feb 02 14:47:02 IST 2015 JAVA_HOME_CCR=/usr/java/jdk1.7.0_72 #Copyright (c) 1999, 2016, Oracle. All rights reserved. #Mon Feb 06 15:35:50 IST 2017 JAVA_HOME_CCR=/usr/java/jdk1.8.0_102
There are 2 files as you can see:
[root@server90 ~]# ll /opt/weblogic*/wlserver*/installation/install/*.properties -rwxr-xr-x. 1 oracle dba 121 Feb 2 2015 /opt/weblogic1213/wlserver_12.1.3/installation/install/envVars.properties -rwxrwxrwx. 1 oracle dba 123 Oct 20 2017 /opt/weblogic1221/wlserver_12.2.1/installation/install/envVars.properties
Advertisement
Answer
Don’t “cat through to awk”, just specify the files after the awk
statement and so:
awk 'FNR == 2 {print}' /opt/weblogic*/wlserver*/installation/install/*.properties
Using cat
is needless and it will merge all input files into one single output, so awk
will just see one input file (FNR
can only match once, then).