简体   繁体   中英

sed append/Insert words between patterns

I have file contain following:

%_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

I want to add following extra directory mod in above path so it will look like following:

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

I know we can use sed but i am not expert, i tried many combo but didn't work

You can use:

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

Or else:

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

我也找到了解决方案:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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