【发布时间】:2012-08-25 14:43:07
【问题描述】:
我有一个文件,其中包含以下几行:
/logs/tc0001/tomcat/tomcat7.1/conf/catalina.properties:app.env.server.name = demo.example.com
/logs/tc0001/tomcat/tomcat7.2/conf/catalina.properties:app.env.server.name = quest.example.com
/logs/tc0001/tomcat/tomcat7.5/conf/catalina.properties:app.env.server.name = www.example.com
在上面的输出中,我想提取 3 个字段(数字 2、4 和最后一个 *.example.com)。我得到以下输出:
cat file | awk -F'/' '{print $3 "\t" $5}'
tc0001 tomcat7.1
tc0001 tomcat7.2
tc0001 tomcat7.5
如何提取'=' 之后的最后一个域名字段?如何使用multiple delimiter提取字段?
【问题讨论】:
-
为了回答我相同但不同的问题,
awk在字段为空白时正在吞噬字段,这会限制字段编号。我将-F " "更改为-F "[ ]"并且awk不再吞下空白字段。
标签: awk command-line text-processing