ดังต่อไปนี้สมเหตุสมผล (แม้ว่าคุณจะไม่เห็นเนื้อหาของ debug.cpp)
$ grep '^[A-Za-z_]' debug.cpp
float CheckExistence();
entity Findgoal(float gno);
void RPrint(const string& msg);
void MakeMeDebug(entity who);
void dremove(entity te)
void display_location()
void RPrint(const string& msg)
void MakeMeDebug(entity who)
ตอนนี้เมื่อฉันเพิ่ม .*
ดังนี้
$ grep '^[A-Za-z_].*' debug.cpp
ฉันได้รับ 8 บรรทัดว่างเปล่าเป็นผลลัพธ์ (ซึ่งฉันไม่สามารถทำให้เว็บไซต์นี้แสดงผลได้) ฉันสงสัยว่าเป็นข้อผิดพลาดอย่างยิ่งฉันได้อัปเดต grep ล่าสุด (เวอร์ชั่น 2.25) แล้วและก็ทำสิ่งเดียวกัน ฉันใช้ Ubuntu
หากความเข้าใจของฉันถูกต้องนิพจน์ปกติของฉันจะพูดว่า: "จับคู่บรรทัดที่ขึ้นต้นด้วยตัวอักษร A ถึง Z, แบบตัวพิมพ์เล็กหรือตัวพิมพ์เล็ก, หรือขีดล่างตามด้วยอะไรก็ได้
นี่เป็นข้อบกพร่องหรือไม่? หรือฉันกำลังทำอะไรผิดพลาด?
cat
หรือ cat -v
?
grep -e '...'
?