ค้นหาไฟล์สำหรับ regex และส่งคืนไฟล์ที่มีรายการที่ตรงกัน


0

ฉันค้นหาทุกที่ แต่ไม่พบวิธีส่งคืนเนื้อหาไฟล์ที่ตรงกับคำที่ระบุหรือ regex

cat /tmp/*.txt | grep "strings"

คำตอบ:


4

คุณไม่เพียงหมายถึงgrepไฟล์ (s) แทน(เก้อ) catไอเอ็นจีมัน / พวกเขาไปgrep?

grep strings /tmp/*.txt

อะไรคือสิ่งcatที่มันรวม*.txtไฟล์ทั้งหมดไว้ใน "ไฟล์ใหญ่" ไฟล์เดียว หากคุณcatหลายไฟล์grepดังนั้นจะเห็นเพียงหนึ่งอินพุตที่ไม่มีชื่อจริงนั่นคือไฟล์ทั้งหมดของคุณรวมเข้าด้วยกันโดยผ่านไปป์ สิ่งนี้จะไม่ทำให้คุณชื่อไฟล์เนื่องจากคุณสร้างทุกอย่างให้เป็นไฟล์ขนาดใหญ่

หากคุณต้องการgrepส่งคืนไฟล์ที่ตรงกันเท่านั้นให้ใช้-lตัวเลือก:

grep -l strings /tmp/*.txt

หากคุณต้องการค้นหา string_s_ (มากกว่าหนึ่ง) แยกพวกเขาทั้งโดย\|(โดยไม่มี-Eตัวเลือก) หรือ|(ที่มี-Eตัวเลือก), ที่อยู่หรือgrep 'foo\|bar' grep -E 'foo|bar'
Uwe

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