forbidden.txtสมมติว่าเรามีไฟล์ข้อความของสายที่ต้องห้าม วิธีสั้น ๆ ในการกรองทุกบรรทัดของเอาต์พุตคำสั่งที่มีอยู่ในไฟล์ข้อความคืออะไร?
cat input.txt | exclude-forbidden-lines forbidden.txt | sortforbidden.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