ฉันเคยได้รับข้อความที่น่ารำคาญมากมายเช่นนี้
grep: commands: Is a directory
grep: events: Is a directory
grep: views: Is a directory
เหตุผลคือการ--directoriesตั้งค่าสถานะเป็นค่าreadเริ่มต้น ฉันเปลี่ยนเป็นrecurse; หากคุณไม่ต้องการให้มันทำการค้นหาแบบเรียกซ้ำโดยอัตโนมัติคุณสามารถใช้skipแทนได้
วิธีที่ง่ายที่สุดในการจัดการกับสิ่งนี้ตลอดเวลาคือการตั้งค่าไว้ในตัวแปรสภาพแวดล้อม ใน~/.bash_profileหรือ~/.bashrcขึ้นอยู่กับ distro ของคุณ:
export GREP_OPTIONS='--directories=recurse'
ตอนนี้มันจะระงับข้อความเหล่านั้นโดยอัตโนมัติเมื่อใดก็ตามที่ฉันใช้ grep
อีกตัวเลือกหนึ่งคือธงชวเลข--no-messages -sสิ่งนี้จะกำจัดIs a directoryข้อความ แต่ก็ยังยับยั้งข้อความอื่นซึ่งอาจมีประโยชน์มากกว่า ตัวอย่างเช่นหากคุณทำการค้นหาแบบซ้อนใน*/*/*และไม่มีไฟล์รูปแบบนั้นอยู่มันจะไม่บอกคุณ
find . 2>/dev/null | grep 404.htmlคือสิ่งที่คำสั่งจะมีลักษณะ