안녕하세요
딴게 아니라 또 일을 하다 보니 어려운점이 있어서
질문을 드립니다.
지금 할려는 일이
특정 폴더에 있는 .java로 끝나는 화일에서
http://11.22.33.44를
http://123.234.532.123이런씩으로
ip주소를 바꾸어 주어야 합니다.
.java화일은 특정폴더 밑에 또 폴더가 있고 또 폴더가 있고
여러개 입니다.
a/b/c/d
/c/d/e
/d/e/r/f
/k/l/m
이런씩으로 a폴더 밑에 여러개의 폴더가 있고 이폴더에
.java화일이 있습니다.
물론 모든 폴더에 다 있는게 아니고 .java가 없는 폴더도 있을수
있고
.java안에 전부다 http://11.22.33.44라는
문자열이 있는것도 아닙니다.
일부분만 있는거죠.
저는
sed 's/11\.22\.33\.44/123\.234\.532\.123/' *.java
이런 씩으로 했는데요
이게 화면에는 바꾸어지는것 처럼 보여지지만 실제로는 변경은
안되더라구요..
책을 읽어보니 파일을 편집하고 싶으면 쉘랩퍼를 작성해서
표준출력을 원래의 화일로 다시 써 주어야 한다는데
이게 무슨 말인지 모르겠습니다.
그리고 이거는 한 디렉토리에서 되는데 여러 디렉토리에서
할려면 어떻게 하죠?
또 쉘스트립트에서요
#!/bin/sh
for f in *.java
sed 's/11\.22\.33\.44/123\.234\.532\.123/' $f > $f.dalnim
done
이런씩으로 화일을 바꿀려고 할때
이문장을 현재 디렉토리만 돌아 가잖아요..
이것을 하위디레토리로
포함해서 돌릴수는 없을까요?
감사합니다.
빨리 답변얻을수 있으면 감사하겠구요.
안녕히 계세요.