awk で複数の区切り文字を使用する 質問する

awk で複数の区切り文字を使用する 質問する

次の行を含むファイルがあります:

/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

ベストアンサー1

区切り文字には正規表現を使用できます。

awk -F'[/=]' '{print $3 "\t" $5 "\t" $8}' file

生産:

tc0001   tomcat7.1    demo.example.com  
tc0001   tomcat7.2    quest.example.com  
tc0001   tomcat7.5    www.example.com

おすすめ記事