繁体   English   中英

通过脚本替换文本行

[英]Replace Line of Text Through Script

我正在使用一个脚本来更新文件,用一个存储在变量中的文本替换一行文本。 在尝试了很多东西后,我猜测问题是插入了文本,它可能使用了sed不喜欢的字符。 我正在使用该命令的示例,替换文本的外观如下所示:

sed 's/^define.*$/'define('AUTH_KEY',         'r*v8]Wic;@Y4{|0EQ9Z?~W,-P}k:d{k)ylAFHm-d(tY6v?U,5{hn].e9eH%/Xmdy');'/' change.html

我在这里的其他地方读到你需要逃避角色但却无法使用我在这里找到的答案: 逃脱字符串以获得sed替换模式

非常感谢任何帮助,或正确方向的指针,谢谢! :)

请注意, sed可以将任何字符作为分隔符,而且/只是常规字符。 如果您可以保证您的密钥没有空格,您可以尝试:

sed 's ^define.*$ &(yourkey) '

尝试这样的事情 -

将替换文本分配给变量 -

[jaypal:~/Temp] abc="'define('AUTH_KEY',         'r*v8]Wic;@Y4{|0EQ9Z?~W,-P}k:d{k)ylAFHm-d(tY6v?U,5{hn].e9eH%/Xmdy');'"

awk's sub使用该变量。

[jaypal:~/Temp] awk -v rep="$abc" '{sub(/^define.*$/,rep,$0); print}' change.html 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM