我想替换下面的字符串
代替:print '状态代码:{code}'.format(code=r.status_code)
和:print('状态代码: {code}'.format(code=r.status_code))
这是我运行失败的命令
find ./ -type f -exec gsed 's/'print 'Status Code: {code}'.format(code=r.status_code)'/'print('Status Code: {code}'.format(code=r.status_code))'/g' {} \;
我尝试使用 \ 来避免特殊字符效果,但仍然失败并且只是挂起。
find ./ -type f -exec gsed -i 's/print \'Status Code: {code}\'.format\(code=r.status_code\)/print\(\'Status Code: {code}\'.format\(code=r.status_code\)\)/g' {} \;
>
>
>
答案1
您可以在表达式周围使用双引号,或者关闭并重新打开每个文字周围的单引号'
,例如'\''
:
sed "s/print 'Status Code: {code}'.format(code=r.status_code)/print('Status Code: {code}'.format(code=r.status_code))/"
sed 's/print '\''Status Code: {code}'\''.format(code=r.status_code)/print('\''Status Code: {code}'\''.format(code=r.status_code))/'