我想使用 sed 命令注释掉以下代码行。
实际代码:
response = HttpResponse()
response['Content-Disposition'] = 'attachment; filename=%s.zip' % file_name.replace('.shp','')
response['Content-length'] = str(len(zip_stream))
response['Content-Type'] = mimetype
response.write(zip_stream)
return response
我想要的是什么:
#response = HttpResponse()
#response['Content-Disposition'] = 'attachment; filename=%s.zip' % file_name.replace('.shp','')
#response['Content-length'] = str(len(zip_stream))
#response['Content-Type'] = mimetype
#response.write(zip_stream)
#return response
唯一的问题是文件很大并且到处都包含response
,因此根据上面提供的提供,搜索应该更具体。
给定的代码块位于特定文件的整个源代码的中间。
答案 0 :(得分:2)
我对你在这里要做的事情做了一些假设。我假设您想要在您选择的两行之间注释代码块。这是使用GNU sed
的一种方式:
sed -i '/response = HttpResponse()/,/return response/s/.*/#&/' file.txt
答案 1 :(得分:2)
perl -i -ne 'if(/response = Http/../return response/){$_="#".$_}print' your_file