Python 파일이 포함된 Fabfile(디렉토리):
print "DEBUG fab_helper DRYRUN: True"+var
print "DEBUG fab_helper DRYRUN: True"
#print "DEBUG cfn_stackname: "+cfn_stackname
도착하다:
LOGGER.DEBUG("DEBUG fab_helper DRYRUN: True"+var)
LOGGER.DEBUG("DEBUG fab_helper DRYRUN: True")
LOGGER.DEBUG("DEBUG cfn_stackname: "+cfn_stackname)
이 모든 항목을 내 로거 모듈로 어떻게 바꿀 수 있습니까? vim이나 sed를 사용해야 하나요?
답변1
2행의 누락과 3행의 중복이 )
전사 오류라고 가정합니까?"
sed 's/^#*print \(.*\)/LOGGER.DEBUG(\1)/' ujjain
LOGGER.DEBUG("DEBUG fab_helper DRYRUN: True"+var)
LOGGER.DEBUG("DEBUG fab_helper DRYRUN: True")
LOGGER.DEBUG("DEBUG cfn_stackname: "+cfn_stackname)
답변2
awk '{$1="";print $0}' filename|sed "s/^/LOGGER.DEBUG\(/g"| sed "s/$/)/g"
산출:
LOGGER.DEBUG( "DEBUG fab_helper DRYRUN: True"+var)
LOGGER.DEBUG( "DEBUG fab_helper DRYRUN: True")
LOGGER.DEBUG( "DEBUG cfn_stackname: "+cfn_stackname)
답변3
Vim 사용: 모든 py 파일을 로드 vim *.py
하고 다음을 수행합니다.
:bufdo %s/^ *#\?print \("DEBUG .*\)$/LOGGER.DEBUG(\1)/
이 명령은 로드된 각 파일에 대해 바꾸기 명령( )을 실행합니다 :bufdo
. %s/...
바라보다 :help :bufdo
.