특정 문장을 포함하지 않는 파일들 찾기

/* —————————————————–
특정 단어를 포함하지 않는 파일 찾기
—————————————————– */
$target_dir=”/home”; // 검색 디렉토리
$ignore_dir=array(“/image/”,”/jumun_prod_photo/”,”/board1_files/”,”/images/”,”/img/”,”/prod_images/”,”/css/”,”/upload/”,”/log”,”/js”,”/temp”); // 검색하지 않을 하위 디렉토리

function r_grep($target,$str) {
global $ignore_dir;
$d = @dir($target);

if(!$d) die(“$target is Not Directory Or Not Found Directory Path

“);

echo “—————————————————————————–
“;
//echo “Handle: ” . $d->handle . “

“;
echo “Path: ” . $d->path . “

“;

while (false !==($entry = $d->read())) {
if ($entry == ‘.’ || $entry == ‘..’) continue;

$file_path=$target.”/”.$entry;

if (is_dir($file_path)){
r_grep($file_path,$str);
}else{
reset($ignore_dir);
$ignore=false;
while(list($key,$val)= each($ignore_dir)){
if(strstr($file_path,$val)){
$ignore=true;
}
}
if($ignore) continue;

$fcontents = file ($file_path);
$find=false;
while (list ($line_num, $line) = each ($fcontents)) {
//echo “Line $line_num: ” . htmlspecialchars ($line) . “

“;
if(strstr($line,$str)) {
$find=true;
continue;
}
}

if(!$find) echo “$file_path
“;

}
}
echo “—————————————————————————–
“;
$d->close();
}

if($mode==”submit”){
r_grep($target_dir,$str);
}

echo”

$target_dir 디렉토리 하위를 검색하여 검색어를 포함하고 있지 않은 파일을 찾습니다.

검색어를 입력하여 주십시요



“;
?>

아주작은새 메뉴얼에서 짜집기 한겁니다.
^^
작업하다 보면 업그레이드 된 파일을 공통적으로 다시 올려야 할일이 종종 있는데 빠뜨릴때도 있더군요
그래서 체크 용도로 사용할려고 만들었습니다.
딴지 노 02/23 12:04:06

초보 특정 단어를 포함하는 파일을 검색해 보려면 어떻게 하면 되는지 소스도 소개해 주시면 감사하겠습니다. 02/23 16:25:59

김정균 뭐 다른 방법으로도..

* 특정 문장 포함된 파일 찾기

grep -r “REGEX” *

* 특정 문장이 포함되지 않은 파일 찾기

grep -r -v “REGEX” * 02/23 16:41:00

아주작은새 grep -r -v “REGEX” *
는 특정 문장이 포함되지 않는 행 찾기 이데요.
거기서 파일명만 나오게 할수 있다면 정말 좋았을 것을 ….
그래서 만든게 위에 소스거든요

혹시 아시는 분? 02/23 16:44:39

거친마루 grep -r -L “REGEX” *
02/23 17:06:48

아주작은새 거친마루님 감사합니다
굳이네요 02/23 17:19:57

정태영 # sh 버젼 =3=33
for X in `find ./ -type f`;do
data=` cat $X | grep “REGEX” `
if [ $? -eq 0 ];then
echo $X
echo $data
fi
done