ทำไมต้องใส่อักษรตัวเดียวใน grep regex?


19

ฉันเคยเห็นหลายครั้งที่มีคนทำสิ่งนี้:

grep [f]oobar

แต่ฉันไม่เข้าใจว่าทำไมจึงเป็นที่ต้องการ

grep foobar

อืม .. ฉันคิดว่ามันควรจะตรงกับช่วงของตัวละครใน [] ถ้ามันเป็นแค่ตัวละครตัวเดียวมันอาจจะทำให้ดูซับซ้อน :) อาจมีบางสิ่งที่มากกว่านั้น
Chida

บางสิ่งบางอย่างที่เรียบง่ายอาจมีความสวยงามมาก
Chida

คำตอบ:


33

ไม่มีเหตุผลที่ไวยากรณ์ดีกว่าด้วยตนเอง บางครั้งใช้เป็นแฮ็กเมื่อ "grepping" สำหรับกระบวนการ (เช่นps aux | grep [a]pache) การใช้ไวยากรณ์นั้นป้องกัน grep ไม่ให้จับคู่บรรทัดคำสั่งของตัวเองในรายการกระบวนการ

ดูวิธีป้องกัน "ps" ที่รายงานกระบวนการของตัวเองได้อย่างไร


4
นั่นเป็นเพียงตัวอย่างทั่วไปของไวยากรณ์ที่ฉันคุ้นเคย
ewwhite

ที่จริงแล้วคุณพูดถูก ตัวอย่างสุดท้ายที่ฉันพบในนั้นมาจาก "การแยก ps"
hortitude
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.