ฉันมีไฟล์ที่มีบรรทัดต่อไปนี้:
/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
ไม่กลืนฟิลด์ว่างอีกต่อไป