[英]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.