
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
。