forbidden.txt
สมมติว่าเรามีไฟล์ข้อความของสายที่ต้องห้าม วิธีสั้น ๆ ในการกรองทุกบรรทัดของเอาต์พุตคำสั่งที่มีอยู่ในไฟล์ข้อความคืออะไร?
cat input.txt | exclude-forbidden-lines forbidden.txt | sort
forbidden.txt
สมมติว่าเรามีไฟล์ข้อความของสายที่ต้องห้าม วิธีสั้น ๆ ในการกรองทุกบรรทัดของเอาต์พุตคำสั่งที่มีอยู่ในไฟล์ข้อความคืออะไร?
cat input.txt | exclude-forbidden-lines forbidden.txt | sort
คำตอบ:
ใช้grep
แบบนี้:
$ grep -v -x -F -f forbidden.txt input.txt
รายการยาวของตัวเลือกที่grep
หมายถึง
-v
กลับความรู้สึกของการจับคู่คือมองหาสิ่งที่ไม่ตรงกัน-x
เมื่อจับคู่รูปแบบต้องให้รูปแบบตรงกันทั้งบรรทัดนั่นไม่ใช่เฉพาะที่ใดก็ได้ในบรรทัด-F
เมื่อจับคู่รูปแบบให้ถือว่าเป็นสตริงคงที่นั่นไม่ใช่การแสดงออกปกติ-f
อ่านรูปแบบจากไฟล์ที่กำหนด ( forbidden.txt
)จากนั้นไปที่ท่อsort
หรือสิ่งที่คุณต้องการจะทำกับมัน
fgrep -vxf forbidden.txt input.txt | sort