วิธีค้นหาสตริงภายในไฟล์เช่นใน Windows ที่ไม่มีลิงค้นหา


39

ฉันใช้ Ubuntu บน VMWare แต่ฉันไม่สามารถเชื่อมต่ออินเทอร์เน็ตได้เนื่องจากข้อ จำกัด ด้านความปลอดภัย

ฉันสงสัยว่ามีวิธีการค้นหาสตริงผ่านเทอร์มินัลหรือไม่และค้นหาว่าสายใดที่สตริงนั้นตั้งอยู่บนไฟล์


1
คุณกำลังพูดถึงgrepหรือบางสิ่งที่สูงขึ้น?
muru

มีการค้นหามันก่อน
xxbinxx

คำตอบ:


55

มีรายการตัวเลือกเกือบจะมากเกินไป

grep -r 'pattern_to_match' directory_to_search

จะส่งออกชื่อไฟล์และสายเต็มรูปแบบที่ตรงกับรูปแบบ


18

ที่ดีที่สุดที่ฉันใช้คือคำสั่ง grep พร้อมตัวเลือก -ri (การค้นหาแบบเรียกซ้ำและการพิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่):

$ grep -r <text_pattern_to_search> directory_or_path_to_search

ตัวเลือกที่อาจเป็นประโยชน์กับคุณ:

    -i - case insensitive
    -r, --recursive  like --directories=recurse
    -R, --dereference-recursive  likewise, but follow all symlinks
      --include=FILE_PATTERN  search only files that match FILE_PATTERN
      --exclude=FILE_PATTERN  skip files and directories matching FILE_PATTERN
      --exclude-from=FILE   skip files matching any file pattern from FILE
      --exclude-dir=PATTERN  directories that match PATTERN will be skipped.

สำหรับข้อมูลลึกที่คุณสามารถทำได้grep --helpหรือman grepใน linux terminal

ไชโย


7


หากคุณต้องการค้นหาเฉพาะหมายเลขบรรทัดที่มีการต่อยอยู่ภายในไฟล์ใช้สิ่งนี้:

grep -n '/string_To_Find/=' directory/file_Name

ถ้าคุณต้องการค้นหาหมายเลขบรรทัดและเอาท์พุทชื่อเต็มบรรทัดที่สตริงอยู่ในบรรทัดใช้สิ่งนี้:

grep -n 'string_To_Find' directory/file_Name

และถ้าคุณต้องการค้นหาชื่อเต็มบรรทัดที่เป็นสตริงใช้สิ่งนี้:

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