ฉันจะรวมคำสั่ง grep หลายคำสั่งได้อย่างไร


15

ฉันมีคำสั่งเช่นนี้:

| grep -v @param | grep -v @return | grep -v @Test | grep -v @throws

และมันเริ่มใหญ่ขึ้นมีวิธีใดที่จะทำให้คนที่ชนะคนนี้ได้หรือไม่?

คำตอบ:



10

คุณสามารถใช้ได้:

... | grep -v "\(@param\|@return\|@Test\|@throws\)"

หรือคุณสามารถใช้แฟล็ก -E เพื่อเปิดใช้งานนิพจน์ทั่วไปที่ขยายเพิ่มซึ่งจะช่วยให้คุณหลีกเลี่ยงการหลีกเลี่ยงวงเล็บและอักขระไพพ์:

... | grep -Ev '(@param|@return|@Test|@throws)'

7

หรือคุณสามารถวางรูปแบบทั้งหมดของคุณในไฟล์หนึ่งรูปแบบต่อบรรทัดและใช้

... | grep -v -f matches.txt

จะทำให้สิ่งต่าง ๆ ง่ายขึ้นถ้าคุณใช้รูปแบบเป็นประจำ

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