sed:在特定行中添加一个字符串

时间:2013-12-03 13:59:19

标签: linux sed awk

我想在段落

中的特定位置添加字符串

即:

$rcmail_config['default_host'] = '';

$rcmail_config['default_host'] = 'abcdef';

是否可以使用sed?

2 个答案:

答案 0 :(得分:1)

sed -e "/\$rcmail_config/s/'';$/'abcdef';/"应该做你想做的事。

> echo -e "foo = '';\nbar = '';\n\$rcmail_config['default_host'] = '';"
foo = '';
bar = '';
$rcmail_config['default_host'] = '';

> echo -e "foo = '';\nbar = '';\n\$rcmail_config['default_host'] = '';" | sed -e "/\$rcmail_config/s/'';$/'abcdef';/"
foo = '';
bar = '';
$rcmail_config['default_host'] = 'abcdef';

答案 1 :(得分:1)

请:

sed -i "s/\$rcmail_config\['default_host'\] =.*/\$rcmail_config['default_host'] = 'abcdef';/" /your.file

它将仅替换该行,并设置您的数据,无论以前是什么。