IT/python

[python3][one-liner] 섹션 헤더 없는 설정 파일 값 바꾸기

심량 2024. 12. 19. 18:31

기록용으로 남깁니다.

A=B 형태의 설정파일이고, REMOTE_ADDR 이란 변수가 있으며, 섹션 헤더는 없는 경우에 한줄로 원하는 값으로 바꾸는 명령을 소개합니다.


참고로 ssh_config 파일 내용은 다음과 같습니다.
REMOTE_ADDR=1.2.3.4

바꾸고 싶은 값은 val='1' 에서 수정하고 파일명은 f='ssh_config' 에서 수정하도록 합니다.

결과물!!

python3 -c "val='1';from configparser import ConfigParser;f='ssh_config';c=ConfigParser();c.optionxform=str;c.read_string('[sec]\n'+open(f,'r').read());c['sec']['REMOTE_ADDR']=val;open(f,'w').write('\n'.join([k+'='+c['sec'][k] for k in c['sec']]))"