sed追加/在模式之间插入单词

时间:2015-01-07 17:29:39

标签: regex awk sed pattern-matching

我的文件包含以下内容:

%_libdir/%name/mod_abstraction.so
%_libdir/%name/mod_alsa.so
%_libdir/%name/mod_avmd.so
%_libdir/%name/mod_amr.so
%_libdir/%name/mod_b64.so
%_libdir/%name/mod_blacklist.so
%_libdir/%name/mod_bv.so
%_libdir/%name/mod_callcenter.so
%_libdir/%name/mod_cidlookup.so
%_libdir/%name/mod_cdr_csv.so
%_libdir/%name/mod_cdr_mongodb.so
%_libdir/%name/mod_cdr_sqlite.so
%_libdir/%name/mod_cdr_pg_csv.so
%_libdir/%name/mod_celt.so
%_libdir/%name/mod_cluechoo.so
%_libdir/%name/mod_codec2.so
%_libdir/%name/mod_commands.so
%_libdir/%name/mod_conference.so
%_libdir/%name/mod_console.so
%_libdir/%name/mod_curl.so

我想在上面的路径中添加以下额外目录mod,所以它将如下所示:

%_libdir/%name/mod/mod_abstraction.so
%_libdir/%name/mod/mod_alsa.so
%_libdir/%name/mod/mod_avmd.so
%_libdir/%name/mod/mod_amr.so
...
...

我知道我们可以使用sed但我不是专家,我尝试了很多组合但是没有工作

2 个答案:

答案 0 :(得分:2)

您可以使用:

sed -i.bak 's~mod_~mod/&~' file

否则:

sed -i.bak 's~%name/~&mod/~' file

答案 1 :(得分:0)

我也找到了解决方案:

 sed -i 's/mod/\mod\/&/' filename