【问题标题】:sed append/Insert words between patternssed 在模式之间追加/插入单词
【发布时间】:2015-03-05 16:21:45
【问题描述】:

我的文件包含以下内容:

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

【问题讨论】:

    标签: regex awk sed pattern-matching


    【解决方案1】:

    你可以使用:

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

    否则:

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

    【讨论】:

    • 谢谢,我也找到了解决方案,但无论如何我会先选择你的答案!
    【解决方案2】:

    我也找到了解决办法:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-07
      • 1970-01-01
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多