ฉันรู้ว่ามีตัวอย่างมากมายของ regex ที่ไม่โลภด้วย grep แต่ฉันมีปัญหากับกรณีเฉพาะของฉัน
ไฟล์ของฉันมีเส้นคล้ายกับ:
[X12345.Yabc.Z7989].[ALPHA/BRAVO].[CHARLIE.DELTA]
และฉันพยายามที่จะแยกออกเพียง X12345
ส่วนหนึ่ง
นั่นคือส่วนที่เริ่มต้นด้วย X
และจนถึงช่วงแรก ( .
)
ตัวอย่างที่ใกล้เคียงที่สุดของฉันคือ:
grep -Eo "X(.*?)\." inputfile
แต่นั่นก็โลภเกินไป (แม้ว่าฉันคิดว่าฉันใช้ .*?
อย่างถูกต้อง
ใครช่วยแนะนำฉันไปยัง regex ที่เหมาะสม?
ทำไมต้อง grep ดูเหมือนว่างานสำหรับ cut -d '.' -f1 | cut -d '[' -f2, ถึงฉัน
—
Sirex