![](/img/trans.png)
[英]Ruby script to match and replace double quotes to single quotes on PHP files
[英]Search and Replace strings containing dot, single and double quotes using bash script
我需要在文件夾的所有文件中搜索字符串cf['stack.over.flow']
並使用 bash 腳本將其替換為STACK_OVER_FLOW
。 我用sed
嘗試了很多方法,但在 escaping 中沒有運氣,單引號和點。 請幫忙。
編輯:如何處理帶有雙引號的字符串。 例如: cf["stack.over.flow"]
對於像cf['stack.over.flow']
這樣的雙引號,您可以使用:
sed "s/cf\['stack\.over\.flow']/STACK_OVER_FLOW/" your_dir/*
對於像cf["stack.over.flow"]
這樣的雙引號,您可以使用:
sed 's/cf\["stack\.over\.flow"]/STACK_OVER_FLOW/' your_dir/*
鏈接命令並在sed
之后和命令之前添加-i
將就地執行替換:
sed -i "s/cf\['stack\.over\.flow']/STACK_OVER_FLOW/" your_dir/* &&
sed -i 's/cf\["stack\.over\.flow"]/STACK_OVER_FLOW/' your_dir/*
編輯:@Jetchisel 提供了一種使用單個 sed 命令的方法:
sed -i "s/cf\[[\"']stack\.over\.flow[\"']\]/STACK_OVER_FLOW/" your_dir/*
它的工作方式是匹配:
cf\[
[\"']
.
): stack\.over\.flow
[\"']
\]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.