Seperti judulnya, apa cara tercepat (akurat) untuk menemukan baris file mana yang cocok dengan string tertentu.
Secara khusus, saya mencari .cppdan .hfile.
Seperti judulnya, apa cara tercepat (akurat) untuk menemukan baris file mana yang cocok dengan string tertentu.
Secara khusus, saya mencari .cppdan .hfile.
Jawaban:
Notepad ++ memiliki opsi 'temukan dalam file', yang terletak di menu 'Cari' .. Ini akan memungkinkan Anda untuk mencari beberapa file dalam folder (Anda dapat menentukan folder) dan akan menunjukkan kepada Anda nomor baris setiap file juga. . Anda dapat beralih apakah subfolder dan folder tersembunyi termasuk dalam pencarian, dan itu juga akan memungkinkan Anda untuk mencari dengan \ t \ n dll. Dan untuk mencari dengan ekspresi reguler jika Anda perlu.
Notepad ++ adalah editor programer Windows (bukan IDE) dan juga Open Source.
(Saya menyadari bahwa Anda kemungkinan besar pernah mendengar notepad ++, tapi saya hanya menyebutkannya di sini sebagai opsi jika Anda tidak mengetahui fitur khusus ini, dan bagi orang lain yang tersandung di utas ini nanti.
Bersulang :)
Agen Ransack bekerja seperti pesona. Unduh di sini .
Pada sistem Unix orang kemungkinan besar akan menggunakan grep untuk melakukan ini, jadi mengapa tidak menggunakan Windows Grep?
Inilah solusi Powershell:
gci -r $SomePath -filter "*.cpp","*.h" | Select-String $FindThisString
The -rdalam gciadalah untuk recurse, dan tentu saja adalah opsional, seperti dua filter ekstensi file. Parameter yang berguna Select-Stringadalah -listyang hanya akan melaporkan pertandingan pertama dalam suatu file, alih-alih memberi Anda setiap kemunculannya per file.
Mungkin Anda ingin langsung membuka setiap file di mana kecocokan ditemukan? Yah, perubahan kecil berikut ini cukup berguna, tergantung pada apa yang Anda miliki sebagai asosiasi file default Anda:
gci -r $SomePath -filter "*.cpp","*.h" | Select-String $FindThisString -list | ii
-filter "*.cpp","*.h"menerima beberapa ekstensi? Ini lebih baik dibaca-include ("*.cpp","*.hpp")
saat melakukan pelokalan beberapa SW saya menggunakan DocFetcher untuk mencari string yang sama dalam file yang diterjemahkan sebelumnya. Ini gratis dan open-source, tetapi harus membuat indeks terlebih dahulu. Cobalah. :-)
Jika Anda senang di baris perintah / dengan Linux. Mungkin saya sarankan melihat menginstal versi grep for windows?
cygwin adalah cara yang cukup praktis untuk mendapatkan hal itu dan akan memberi Anda lingkungan Linux penuh, dengan bash shell dan terminal rxvt. Kalau tidak, jika Anda hanya ingin alat ada gnuwin32 tetapi kemudian Anda akan terjebak dengan prompt Windows cmd.exe.
Microsoft sebenarnya memiliki versi mereka sendiri alat Unix sebagai unduhan, tetapi mereka tampak cukup lambat dibandingkan dengan port gnu ketika saya mencobanya. Mereka juga akan memo mereka dengan Windows 8.
Ini adalah bagaimana saya mencari string teks di Windows Registry atau file di mesin Windows XP saya. Mari kita asumsikan saya ingin mencari string "Enterprise" dalam file teks biasa pada drive c:, lalu tulis output ke file yang bernama search_result.txt di c: \ windows \ temp
Buka prompt perintah lalu ketik:
findstr "Enterprise" c: *. txt> c: \ windows \ temp \ search_result.txt
String yang Anda cari peka terhadap huruf besar-kecil. "Enterprise" dan "enterprise" tidak akan menemukan string yang sama.