ฉันต้องการค้นหาเนื้อหาทั้งหมดในเซิร์ฟเวอร์ (ไฟล์ข้อความ)
เมื่อฉันลอง grep -rl "text here" มันค้าง
คุณจะทำอย่างไร
และใช้เวลานานเท่าไหร่?
ฉันต้องการค้นหาเนื้อหาทั้งหมดในเซิร์ฟเวอร์ (ไฟล์ข้อความ)
เมื่อฉันลอง grep -rl "text here" มันค้าง
คุณจะทำอย่างไร
และใช้เวลานานเท่าไหร่?
คำตอบ:
คุณต้องระบุไฟล์เมื่อใช้grep
คำสั่ง ด้วยคำสั่งที่คุณใช้คุณกำลังค้นหาในอินพุตมาตรฐาน ...
ลองgrep -r "test" directory
ดู
find / -name "*.txt" -exec grep "text here" {} \; -print 2>/dev/null
ซึ่งสามารถอธิบายได้ในมนุษย์พูดเป็น:
คุณลืมระบุประเภทของไฟล์ที่คุณต้องการค้นหา
ตรวจสอบให้แน่ใจว่าคุณเข้าสู่ระบบในฐานะรูท
cd /
grep -rl "text here" * > /tmp/match.txt
ขั้นตอนนี้ใช้เวลานานมากและคุณสามารถรวบรวมผลลัพธ์ได้ในภายหลังโดยทำเครื่องหมายที่ /tmp/match.txt
คำสั่งต่อไปนี้จะค้นหาไฟล์ทั้งหมดที่ลงท้ายด้วย. txt ในไดเรกทอรีการทำงานปัจจุบันและไดเรกทอรีย่อยทั้งหมด:
find . -type f -name '*.txt' -exec grep -Hn "text here" {} \;