Unicode grep สำหรับ Windows [ปิด]


13

มีgrep ที่รับรู้ Unicode สำหรับ Windows 32 บิตหรือไม่


1
คุณพบหนึ่งที่ทำงานกับ Unicode หรือไม่? มันไม่ชัดเจนเลยในคำตอบหากเครื่องมือต่าง ๆ ที่ Unicode ทราบหรือไม่
Peter Mortensen

1
ฉันเลิกและใช้การค้นหาในตัวของ Visual Studio (:
Jeroen Wiert Pluimers

คำตอบ:


8

สำหรับเครื่องมือบรรทัดคำสั่งให้ดูที่คำตอบ KeyboardMonkey (แต่ฉันไม่แน่ใจเกี่ยวกับการสนับสนุน Unicode)

สำหรับเครื่องมือ GUI (โอเพ่นซอร์ส): dnGREP

  • การรวมเชลล์ (ความสามารถในการค้นหาจาก Windows Explorer)
  • ข้อความธรรมดานิพจน์ทั่วไปและการค้นหาXPath (รวมถึงการค้นหาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
  • การค้นหาออกเสียง (ใช้อัลกอริธึม Bitap และNeedleman-Wunch )
  • การดำเนินการย้าย / คัดลอก / ลบไฟล์
  • ค้นหาภายในคลังเอกสาร / เอกสาร MS Word / เอกสาร PDF (ผ่านทางปลั๊กอิน)
  • เลิกทำการทำงาน
  • การรวมเข้ากับตัวแก้ไขข้อความ (เช่นNotepad ++ )
  • บุ๊กมาร์ก (ความสามารถในการบันทึกการค้นหานิพจน์ทั่วไปสำหรับอนาคต)
  • แบบทดสอบรูปแบบ
  • การเน้นผลการค้นหา
  • ไม่ต้องการการติดตั้ง (สามารถเรียกใช้จากไดรฟ์ USB)

ป้อนคำอธิบายรูปภาพที่นี่

สำหรับเครื่องมือ GUI ที่ง่ายกว่า (ค้นหาอย่างเดียว): AstroGrepและอีกอันหนึ่งที่โดดเด่น (และแพงกว่า): PowerGREP


ตามฟรีแวร์ของ gizmo "แทนที่ข้อความ" ecobyte.com/replacetextเป็นอีกหนึ่งตัวเลือกที่น่าสนใจ
fluxtendu

ขออภัยสำหรับ necro แต่ขอบคุณ !! ฉันหมดเครื่องมือนี้ใน Windows และ dnGREP นี้เป็นสวรรค์!
pepoluan

3

Windows ส่วนใหญ่มีคำสั่ง "findstr" ซึ่งทำงานเหมือนกับ grep ฉันไม่รู้เกี่ยวกับความสามารถของ Unicode แต่สำหรับความรู้ของฉันไม่ควรมีปัญหาใด ๆ


2

อัปเดต: GnuWin32เป็นพอร์ตที่รักษาไว้ล่าสุดของเครื่องมือเหล่านี้ (ขอบคุณนักต้มตุ๋น)

นี่คือรายการของแพ็คเกจและดาวน์โหลด grep ทีละรายการ

ลองดูUnxUtilsซึ่งรวมถึง grep เช่นกัน ฉันใช้สิ่งเหล่านี้บนพีซีที่ทำงานของฉันด้วย


3
UnxUtils เก่าและไม่ได้รับการสนับสนุน - อัปเดตล่าสุดในปี 2003 ลองใช้ GnuWin32 สำหรับชุดเครื่องมือล่าสุด: gnuwin32.sourceforge.net
quack quixote

1

ใช่ตามที่กล่าวไว้ในฟลักซ์เทนทู

  • PowerGREPจะทำทุกอย่าง แต่มันเป็นกรรมสิทธิ์และค่าใช้จ่าย 149 ยูโร
  • dnGREPจะทำงานได้เช่นกันและมีชุดคุณสมบัติที่คล้ายกันฟรี

อย่างไรก็ตาม

  • Cygwinยังสามารถติดตั้ง grep (และอีกมากถ้าคุณต้องการ) มันจะทำการค้นหาด้วย Unicode ด้วย-Uสวิตช์ ฉันอยากจะแนะนำ Cygwin เป็นวิธีแก้ปัญหาที่ง่ายที่สุดถ้าคุณคุ้นเคยกับ grep ของ Unix เพียงตรวจสอบให้แน่ใจว่าได้ผนวก PATH ของคุณและคุณสามารถใช้มันในเชลล์ Windows ได้เช่นกัน


1

วิธีที่ง่ายที่สุดในการทำเช่นนี้คือยูทิลิตี Windows ที่เรียกว่า "สตริง" ซึ่งทำสิ่งที่คุณต้องการอย่างแน่นอน:

สตริง (Sysinternals)

โดยพื้นฐานแล้วมันจะดึงอักขระ Unicode ทั้งหมดออกจากไฟล์ดังนั้นคุณจึงสามารถไพพ์ไปยังสิ่งที่ Windows ที่คุณใช้ไม่ว่าจะเป็น findstr (เนทีฟ) หรืออย่างฉัน gnuwin32 grep สำหรับ Windows (ทำตามที่บอก)

ดังนั้นคุณจะได้รับสิ่งที่ชอบ:

strings *.odf | grep -i  "texttosearch"

findstr ใช้งานได้กับหลายสิ่งหลายอย่าง แต่ grep ก็ดีกว่า


1
วิธีนี้ตอบคำถามได้อย่างไร stringsโปรแกรมที่ใช้สำหรับการหาสตริงข้อความที่มีการผสมกับไม่ใช่ข้อความ (“ฐาน”) ข้อมูล เช่นไฟล์ปฏิบัติการ คำถามไม่ได้พูดอะไรเกี่ยวกับการมีสตริงข้อความฝังอยู่ในข้อมูลไบนารี ... ... ... ... ... ... ... ... ถ้าฉันต้องการค้นหาแฟ้มข้อความ Unicode สำหรับตัวอักษรเช่นπ และ? ฉันจะพิมพ์strings dissertation | findstr "π"หรือไม่ ไม่findstrจัดการกับ Unicode? ถ้าเป็นเช่นนั้นทำไมไม่เพียงแค่พูดfindstr "π" dissertationซึ่งแนะนำเมื่อห้าปีที่แล้ว? หากไม่เป็นเช่นนั้นคุณมีอะไรบ้าง
G-Man กล่าวว่า 'Reinstate Monica'

จุดดี. ฉันคิดว่าฉันไม่เข้าใจสิ่งที่ผู้ถามเป็นหลังจากนั้น
Some_Guy

0

ดูBareGrep (รุ่นฟรีมีหน้าจอเริ่มต้น) ซึ่งดูเหมือนว่าเป็นกราฟิก grep ที่ค่อนข้างสมบูรณ์ เอกสารกล่าวถึงการสนับสนุน "หลายรูปแบบไฟล์" ดังนั้นฉันคิดว่า Unicode รวมอยู่ด้วย

ป้อนคำอธิบายรูปภาพที่นี่


ฉันค่อนข้างมั่นใจว่ามันไม่รองรับ Unicode ฉันลองแล้ว แต่ใช้ไม่ได้กับไฟล์ UTF-16 ส่งอีเมลถึงพวกเขาเพื่อยืนยัน
O'Rooney
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.