ฉันมีคำสั่งเช่นนี้:
| grep -v @param | grep -v @return | grep -v @Test | grep -v @throws
และมันเริ่มใหญ่ขึ้นมีวิธีใดที่จะทำให้คนที่ชนะคนนี้ได้หรือไม่?
ฉันมีคำสั่งเช่นนี้:
| grep -v @param | grep -v @return | grep -v @Test | grep -v @throws
และมันเริ่มใหญ่ขึ้นมีวิธีใดที่จะทำให้คนที่ชนะคนนี้ได้หรือไม่?
คำตอบ:
ตัวเลือกอื่น:
... | grep -v -e @param -e @return -e @Test -e @throws
คุณสามารถใช้ได้:
... | grep -v "\(@param\|@return\|@Test\|@throws\)"
หรือคุณสามารถใช้แฟล็ก -E เพื่อเปิดใช้งานนิพจน์ทั่วไปที่ขยายเพิ่มซึ่งจะช่วยให้คุณหลีกเลี่ยงการหลีกเลี่ยงวงเล็บและอักขระไพพ์:
... | grep -Ev '(@param|@return|@Test|@throws)'
หรือคุณสามารถวางรูปแบบทั้งหมดของคุณในไฟล์หนึ่งรูปแบบต่อบรรทัดและใช้
... | grep -v -f matches.txt
จะทำให้สิ่งต่าง ๆ ง่ายขึ้นถ้าคุณใช้รูปแบบเป็นประจำ