답변 3개 / 댓글 7개
채택된 답변
+20 포인트
쉘이 편하긴 하죠..ㅎㅎ
Copy
<?php $filename = "test.txt"; $fp = fopen($filename, "r") or die("파일열기에 실패하였습니다"); $line = 0; while(!feof($fp)){ $content = fgets($fp); if($line < 2 || $line > 4) { $buffer .= $content; //echo $line.":" .$content."<br>"; } $line = $line+1; } fclose($fp); $fp = fopen($filename, "w") or die("파일열기에 실패하였습니다"); //echo $buffer; fwrite($fp, $buffer); fclose($fp); ?>
현재 디렉토리(.)밑으로(하위에 있는 모든 서브디렉토리 포함) type이 file인것중,
파일명이 .php로 끝나는 모든 파일을 찾아서 다음 명령을 exec(실행)해라.
sed -i '2,5d' {} \; -> 그 찾은 파일들을 2번째줄부터 5번째줄까지 지워라(delete)
Copy
$output = `find . -type f -name '*.php' -exec sed -i '2,5d' {} \;`;echo "<pre>$output</pre>";
Is it OK?
답변에 대한 댓글 5개
$lines = file("파일명.txt"); 하면 행별로 배열순서로 값이 들어가는데 이렇게 처리하면 안되나요?
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}
2~5 라인은 제외하고 다시 파일로 써주면,,,
답변을 작성하려면 로그인이 필요합니다.
간결하고 명료하게 답변 주셨네요 ^^
쉘이 편하긴 한데... recursive 작업을 해야 하는데 쉘은 recursive하게 제가 못짜요..
php로는 recursive작업소스를 로 따로 제작해놔서 그것을 쓰려하거든요
귀중한 시간 내어주셔서
다시 한번 감사드립니다.
.
.