Linux/SHELL 2006/09/08 14:33
블로그 > 영혼의 소리...카리스마 그리고 이성 http://blog.naver.com/kill_9/100004874536 | |
#!/bin/bash # 이 스크립트는 해당 디렉토리 이하, 확장자가 txt인 파일의 문자열을 교체한다. # 서브사이드 스크립트(Server Side Script)의 일괄적인 문자열 교체에 유용하다. target_dir="/www/htdocs" target_files=$(find "$target_dir" -name "*.txt" -type f) # shell 내부변수 조정, 단, bash 버전 2.xx 이상에선 아래의 코드를 사용하지 않아도 된다. IFS=' ' from_str='원본 문자열' to_str='치환할 문자열' # 루프로 해당 디렉토리내의 모든 파일(/www/htdocs 내의 *.txt 파일)을 조사한다 # 파일에 일치하는 패턴이 있으면 치환, redirection 시켜 새로운 파일(파일명.newfile)을 만든다 # 새로운 파일을 기존의 파일명으로 바꾼다. # 하나의 파일 실행이 끝나면 특정 메세지를 띄운다. for file in $target_files ; do result=$(grep "$from_str" "$file") if [ X"$result" != "X" ] ; then sed "s;${from_str};${to_str};g" "$file" > ${file}.newfile mv -f "${file}.newfile" "$file" echo "Changed String : $file" fi done exit 0 |
|
이 글에는 트랙백을 보낼 수 없습니다
0