sed的新手,所以请耐心等待......
我有一个php文件,其中包含以下行:
define('TARGET_A','044');
我想找到该行并使用sed将其替换为以下内容:
define('TARGET_K','076');
我试过了:
$ sed -i 's/define\(\'TARGET_A\',\'044\'\)\;/define\(\'TARGET_K\',\'076\'\)\;/' myfile.php
我尝试了几种变体,试图逃避parens并删除分号,似乎没有任何工作
任何帮助都非常感谢,谢谢
答案 0 :(得分:5)
那是很多逃避的事。怎么样......根本没有逃脱?
vid.set()
示例:
sed -i '.bak' "s/define('TARGET_A','044');/define('TARGET_K','076');/" myfile.php
答案 1 :(得分:1)
这对我有用:
$sed -i "s/define('TARGET_A','044');/define('TARGET_K','076');/" myfile.php
我更改了参数字符串分隔符以使其更简单。
答案 2 :(得分:0)
您无法在def post_search(request):
form = SearchForm()
# Initialize variables
cd = results=total_results=None
if 'query' in request.GET:
form = SearchForm(request.GET)
if form.is_valid():
cd = form.cleaned_data
results = SearchQuerySet().models(Post).filter(content=cd['query']).load_all()
# count total results
total_results = results.count()
return render(request, 'blog/post/search.html', {'form': form,
'cd': cd,
'results': results,
'total_results': total_results})
分隔的脚本中转义[25/Aug/2016 23:05:33] "GET /blog/search/ HTTP/1.1" 200 2260
,因此每当需要'
时,您需要使用'
转发回shell。您可能会想要使用'\''
来分隔脚本,但是然后您将其打开到shell变量扩展等,因此您需要注意脚本中的内容并转义某些字符以阻止shell扩展它们。它更加健壮(并且通常使您的脚本更简单)只需坚持单引号并转移到shell只是为了您需要的部分:
'