sed append/Insert 模式之间的单词

sed append/Insert words between patterns

我的文件包含以下内容:

%_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 但我不是专家,我尝试了很多组合但没有用

您可以使用:

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

否则:

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

我也找到了解决办法:

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