Permalänk

Sök kod i många filer?

Hej
Jag sitter med några hundra .php filer
Jag letar efter speciella kod rader och vill inte gå igenom alla filer.

Jag vet att de kodrader jag söker finns, men vet inte vart.

Kan jag söka igenom filerna och få fram ett resultat av i vilken fil som min kod finns i?
Jag har windows 8 och har försökt använda sök funktionen.
Men jag lyckas inte, den verkar inte hitta något i .php filer.

Jag har lagt till .php och indexerat etc, men får det inte att funka.

Finns det fler alternativ?

Permalänk
Inaktiv

Notepad++ har denna möjligheten, CTRL+F och sen "Find All in All Opened Documents". Kan hända att du får öppna hundra filer i taget dock, har själv försökt öppna x-antal hundra filer och det går inte så bra.

Permalänk
Inaktiv

Något liknande borde funka. Ej testat koden, slängde ihop den snabbt bara

<?php function Search($query, $dir){ if ($handle = opendir($dir)) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { if(is_file($dir."/".$entry) && substr(strtolower($entry),-4,4) == ".php"){ $ss = file_get_contents($dir."/".$entry); if(stristr($ss, $query) != false){ echo $dir."/".$entry."<br />\n"; } }else if(is_dir($dir."/".$entry)){ Search($query, $dir."/".$entry); } } } closedir($handle); } } ?>

EDIT: Fixade bugg

Permalänk
Medlem

Installera cygwin och kör grep.

grep -R "Det jag söker efter" *.php

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk

hittade ett program som heter FileSeek
funkade kanon och jag hittade snabbt det jag sökte efter.

tack ändå alla!!

Permalänk
Medlem
Skrivet av zyberzero:

Installera cygwin och kör grep.

grep -R "Det jag söker efter" *.php

Eller så kan du använda kommandot Select-String direkt i powershell.

http://technet.microsoft.com/en-us/library/hh849903.aspx

Visa signatur

PC: Cooler Master Cosmos 1000 | Intel i5-4670K | Asus Z87-PRO | Radeon HD 5770 | Linux Mint 17.2 Cinnamon / Windows 10 Pro
Amiga: Amiga600HD | 40MB HDD | 1MB RAM
Commodore C-64 med bandstation

Permalänk
Medlem
Permalänk
Medlem

Texteditorn Sublime Text har detta inbyggt. Du kan dra in en mapp i programmet och därefter söka/söka och ersätta i alla dokument i den. Det plus ett dussintal andra bekväma funktioner gör att jag rekommenderar den starkt över många andra texteditors.

Visa signatur
Permalänk
Skrivet av Mest:

Texteditorn Sublime Text har detta inbyggt. Du kan dra in en mapp i programmet och därefter söka/söka och ersätta i alla dokument i den. Det plus ett dussintal andra bekväma funktioner gör att jag rekommenderar den starkt över många andra texteditors.

Det enda jag saknar med sublimetext är att det är väldigt obekvämt att jobba med C++ och microsofts compiler, det funkar däremot kanon med gcc/g++ och makefiles.

Visa signatur

| Silverstone raven rv02 | Intel Core i7 920 @ 3.5ghz + Corsair H50 | Kingston DDR3 HyperX 1333MHz 6x2GB | XFX Radeon 6870 | ASUS P6T SE | Chieftec Super Series 750W |

Permalänk
Medlem

Med Powershell (som följer med Windows) så kan du göra såhär för att hitta alla filer som innehåller "vad man nu vill hitta":

Get-ChildItem -Recurse | Select-String "vad man nu vill hitta"

Den kommer inte skilja på versaler och gemena och den kommer leta i alla filtyper (och hittar även saker i PDF-er och diverse andra format som man kanske vill utesluta).

Visa signatur

.<

Permalänk

Haikarainen wrote:

... if(is_file($query."/".$entry) && substr(strtolower($entry),-4,4) == ".php"){ ...

but it should be:

if(is_file($dir."/".$entry) && substr(strtolower($entry),-4,4) == ".php"){

Permalänk
Inaktiv
Skrivet av Bishop-Skaarj:

Haikarainen wrote:

... if(is_file($query."/".$entry) && substr(strtolower($entry),-4,4) == ".php"){ ...

but it should be:

if(is_file($dir."/".$entry) && substr(strtolower($entry),-4,4) == ".php"){

Hehe yep! Otestat som sagt, typos är inevitable på otestad kod som är längre än 3 rader