Computer/PHP

파일내 특정단어 수정 쉘스크립트

알찬돌삐 2005. 5. 15. 22:20
PHPSCHOOL 의 법인화 문제에 대하여 여러가지 글들이 올라와서 Tip&Tech 나 보고 놀자 하는 마음으로 보는데 흠...-_-;
이럴수가 2004년 4월 20일날 내가 Tip Tech 에 글을 올렸었다니..
이 허접한 내가 -_-;;
그래서 여기다가 올린다 ㅋㅋ;
올리고나서 코멘트 보니 내가 삽질했었다는 결론이 ㅋ;

[CODE] 첨 올려봅니다. 허접하지만 팁&테크에 꼭 한번 글 써보고 싶었어요 ^_^; 파일내에서 특정단어를 다른걸로 수정시 일일이 찾아서 고치기 귀찮아서 vi 에서 :%s/g/i 인가 쓰면 되지만 그거도 귀찮을때 -_-; 간단하게 만들어서 썼습니다. 더 좋은 방법 있으면 조언 바랄께요 쉘상에서 실행합니다. 예) test 파일내의 서울을 부산으로 수정시 ./wordchange.php 서울 부산 test <---- wordchange.php ----> #!/usr/bin/php -q <? // argv[1] -> 수정되기전 단어 // argv[2] -> 수정할 단어 // argv[3] -> 파일 이름 $file_name = $argv[3]; $i = 0; // 몇 단어를 변환했는지 체크할 변수 if(file_exists($file_name)) { system("cp $argv[3] $argv[3].bak"); $fp = file($file_name); $fwrite = fopen($argv[3], "w"); foreach($fp as $line_num => $line) { if(eregi($argv[1], $line)) { $i++; } $line = str_replace($argv[1], $argv[2], $line); fputs($fwrite, $line); } fclose($fwrite); echo "총 $i 개의 단어를 수정하였습니다."; echo "\n"; } else { echo "파일이 존재하지 않습니다.\n"; } ?> [/CODE]

막상 올리고 코멘트 보니 ㅎㅎㅎ.. 난 역시 삽질의 대가라는 ㅠ.ㅡ

.