파일내의 내용을 찾는명령어는 무엇이 있나요?

글쓴이: 익명 사용자 / 작성시간: 금, 2001/11/02 - 3:20오전
안녕하세요...
리눅스 초보인데..
다음과 같은 프로그램을 짜려면 어떻게 해야되는지 알켜 주세요..
name.txt라는 화일이 있는데
이 화일의 내용은
Myname=choijungmin
yourname=programmer
이렇게 두 줄입니다.
근데..
'Myname=' 이 문자열을 찾아서...
그 뒤에 나오는 choijungmin을 jungminchoi로 바꾸려고 하는데...
어떻게 하면 되나요..
그러니까 화일의 내용을 읽고 그 내용 뒤의 내용을 바꾸는 프로그램이라고
생각하시면 될것같아요..
그럼 고수님들의 답변 기다리겠습니다.
안녕히 계세요...
Forums:
Re: 파일내의 내용을 찾는명령어는 무엇이 있나요?
이론 왕초보 주제에 감히 이렇게 글을 씁니다...^^*
제가 아는 거 같은데영...
근데 제목을 보니깐 내용을 찾는 명령어 같네요......
name.txt라는 화일이 있는데
이 화일의 내용은
Myname=choijungmin
yourname=programmer
명령모드에서 콜론()을 누르시구 다음을 타이핑 하세영..
1,$s/choijungmin/jungminchoi/g
이렇게 해주시면 됩니다.
1,$는 치환 범위로서 첨줄부터 끝줄까지구영...
s는 치환의 시작을 알리구여../로써 구분을 해주져...
chojungmin 은 치환전의 문자열
jungminchoi 는 치환후의 문자열
g는 문장 내의 모든 문자들을 대상으로 한다는걸 말해줌니다.(g를 안쓰믄..
처음발견되는 문자열만 치환되져..)
Re^2: 죄송하지만...c코드로 구현할 땐 어떻게 하나요? 그리고..
답장 감사합니다..
근데..물어볼게 있어서요..
c화일에서 코드로 어떻게 구현하는지를 알고 싶구요..
그리고
Myname=choijungmin
yourname=programmer
에서 choijungmin을 찾아서 바꾸는 것이 아니라..
'Myname='이라는 문장을 찾아서..
그 뒤의 내용을 바꿔주는 것입니다.
다시 한 번 부탁드릴께요..
그럼 수고하세요...
Re^3: 대략적인 내용만여...
ㅎㅎㅎ 역시나 c code였군요..
먼저 화일 입출력이군요.....
제가 초보라 초보수준에서 말하시는거라 생각하시궁..
함 대강의 알고리즘만...간단히...
int main()
{
fp=fopen(....) 화일 열구
fget(buf,fp); 메모리에 가져오구
ptr = strstr(buf,"Name="); Name= 이라는 문자열 찾구
n = strlen("Name=");
fsetpos(fp, ptr + n ); 옵셋을 변경하고자하는 Name=다음으로 해놓고..
//ftell(fp); 한번 옵셋이 변경되었나 확인 해보시궁.....저두 fsetpos는
안써바서영...
fput("치환후의 문자",fp); 이러변 바뀌겠졍???
fclose(fp);
}
ㅋㅋㅋ 걍 중요한 함수들만 써봤는데.....
고수님들의 많은 조언 부탁드림니당.....
인자등은 확인하시구 사용하세영~~~~
댓글 달기