簡體   English   中英

awk 'FNR == 2 {print}' 問題

[英]awk 'FNR == 2 {print}' issue

我有一些任務需要知道 WLS 的安裝日期,它位於名為envVars.properties的文件的第二行,該文件位於/opt/weblogic1221/wlserver_12.2.1/installation/install/envVars.properties中。 我有服務器,那里有多個版本的 WL,因為我在/opt/weblogic*/wlserver*/...中使用* 但是當我運行cat /opt/weblogic*/wlserver*/installation/install/*.properties| awk 'FNR == 2 {print}' cat /opt/weblogic*/wlserver*/installation/install/*.properties| awk 'FNR == 2 {print}'我只得到一個結果(對於它找到的第一個文件)。

看:

[root@server090 ~]# cat /opt/weblogic*/wlserver*/installation/install/*.properties| awk 'FNR==2{print}'
#Mon Feb 02 14:47:02 IST 2015

沒有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

如您所見,有2個文件:

[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

不要“cat through to awk”,只需在awk語句之后指定文件,因此:

awk 'FNR == 2 {print}' /opt/weblogic*/wlserver*/installation/install/*.properties

使用cat是不必要的,它會將所有輸入文件合並到一個 output 中,因此awk只會看到一個輸入文件( FNR只能匹配一次)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM