python으로 파일 내용 변경방법?
글쓴이: high385 / 작성시간: 일, 2018/03/18 - 9:47오전
파일에 다음과 같은 내용이 있다고 할때 변경법질문입니다
1st file 내용
aa=446
a= bcd
b= [fgh]
c= [jfr
dfgh
dghhy]
gg=678
2nd파일 내용
a= cd
b= [fh]
c= [jf
dfg
dhy]
와 같을때 1st파일의 내용에서 2nd파일의 내용으로 변경시 python,dos, perl,sed 등으로 파일 내용을 하고싶은데 변경은 어떻게하는게 좋을까요?
윈도우 환경에서 작업하는것인데요
python의 re모듈을 이용한 search sub등을 활용하는방법을 생각해보았는데 아직 어렵네요
혹시 위와 같은 상황에서 c코딩방식이 아닌
스크립트방식으로 파일 변경 쉽게해주는 방법 있으려나요?
언어는 상관없고 윈도우 환경에서 일괄 변경해주는 방법이 있나 궁금합니다
Forums:
변경 규칙이 무엇인가요?
변경 규칙이 무엇인가요?
코딩 말고 글로 설명해 주셔요.
세벌 https://sebuls.blogspot.kr/
2nd file의 내용을 1st 파일로 대체시의 규칙
2nd file의 내용을 1st 파일로 대체시의 규칙
==>
1st file 내용
aa=446
a= bcd
b= [fgh]
c= [jfr
dfgh
dghhy]
gg=678
2nd파일 내용
a= cd
b= [fh]
c= [jf
dfg
dhy]
==>
=을 기준으로 key=value가 됩니다.
key를 기준으로 검색이 됩니다.
key는 두 파일 모두 유일한 값입니다.
key를 기준으로 특정 string이 검색이된다면 2nd file의 vale를 1st file의 vale 대신 사용합니다.
key는 한줄에 적혀있지만
value는 배열일 경우 2줄 이상일 수 있습니다.
c= [jf
dfg
dhy] 에서
value는 3줄이 되며
[jf
dfg
dhy] 이 value가 됩니다.
Perl 버전입니다.
1) 1번 파일의 키-값 중에 2번 파일에 같은 키가 있으면 덮어쓴다
2) 1번 파일의 키-값 중에 2번 파일에 없는 것은? 그냥 놔두는 걸로 가정
3) 1번 파일에 없는 키가 2번 파일에 나오면? 추가하는 걸로 가정
좋은 하루 되세요!
음 ..
bash 버전.. 윈도우 환경이니 cygwin 이나 win-bash, gnuwin32 등 bash 와 sed 있으면 될 겁니다.
- 배열(multi-line)은 반드시 [] 로 감싸 있다고 가정.
댓글 달기