代码之家  ›  专栏  ›  技术社区  ›  radman

删除文本的awk/sed脚本

  •  2
  • radman  · 技术社区  · 15 年前

    我现在需要一种方法,以编程方式从我正在处理的makefiles中删除一些文本。现在的问题是(无论出于什么原因),生成makefile的链接命令是 -l<full_path_to_library>/<library_name> 它们应该在什么时候生成 -l<library_name> . 所以我需要一个脚本来查找 -l/ 然后移到并包括下一个 / .

    我正在处理的示例

    -l/home/user/path/to/boost/lib/boost_文件系统

    我需要它

    -lboost_文件系统

    可以想象,这是一个止损措施,直到我解决了真正的问题(在代际方面),但同时,这将是一个伟大的帮助,如果这可以工作,我不太擅长我的锥子和塞德。

    谢谢你的帮助。

    2 回复  |  直到 15 年前
        1
  •  4
  •   Ignacio Vazquez-Abrams    15 年前
    sed -i 's|-l[^ ]*/\([^/ ]*\)|-l\1|g' Makefile
    
        2
  •  1
  •   Kunal    15 年前

    干得好

    echo "-l/home/user/path/to/boost/lib/boost_filesystem" | awk -F"/" '{ print $1  $NF  } '