繁体   English   中英

使用bash替换文件中的内容

[英]Replace content in file using bash

我想用在/ etc / openvpn / easy-rsa / vars文件中的变量$ COUNTRY中读取的数据替换export KEY_COUNTRY =“ US”行

在与CentOS6一起使用的先前版本中,我使用了与MySQL-server捆绑在一起的命令replace。 但是现在该功能不再可用,我正在寻找有关替换命令以替换数据的想法。

提前致谢。

您可以使用sed ,但是请记住,如果$ COUNTRY禁忌素控制字符,它可能会失败。

sed -i 's/KEY_COUNTRY="US"/KEY_COUNTRY="'"$COUNTRY"'"/' file

使用Perl会更安全,因为它不会将变量内容解释为语法的一部分:

perl -i -pe 's/KEY_COUNTRY="US"/KEY_COUNTRY="$ENV{COUNTRY}"/' -- file

$ COUNTRY必须在perl流程中可访问,即您需要export或分配给它

COUNTRY=$COUNTRY perl ...

暂无
暂无

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

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